Given the design of Arduino architecture, generally the controller runs the foreground code in loop(). When an interrupt happens, the foreground code is suspended and the corresponding interrupt service handler (ISR) is run. If the controller is running an ISR and another interrupt happens, the new interrupt’s ISR is not run until the current ISR returns (no interrupt on interrupt). Because the UART has 3-char buffer, this means if another ISR is ongoing and does not return timely, when the UART ISR runs it could be too late and a new character could have been lost if the 3-char buffer is full. From the perspective of code, one character is missing in the received characters. This is called UART buffer overflow. HardwareSerial then reads the received characters and puts them in its 32 or 128 buffer for client fetching, often from loop(). If this buffer is full, the character is not stored and is discarded, and therefore it is another chance to have a missing character from the perspective of HardwareSerial user. This is called HardwareSerial buffer overflow.
wptm wrote:Can you please look if the following dual h-bridge
http://www.ebay.com/itm/New-3-36V-Dual-H-Bridge-DC-Motor-Driver-Peak-60A-Controller-for-Robot-Smart-Car-/221187919149?pt=LH_DefaultDomain_0&hash=item337fd3cd2d
is compatible with this topic's Arduino solution?
Return to Controllers and Drivers Projects
Users browsing this forum: No registered users and 3 guests