mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-11 15:22:13 +03:00
Function added to detect baudrate (#4978)
* Function added to detect baudrate * Added uart_start_detect_baudrate, detectBaudrate() wrappers for HardwareSerial and an example usage SerialDetectBaudrate.ino * Some layout changes to pass Travis tests * Some more nitty-gritty layout changes to pass Travis tests * Some even more nitty-gritty layout changes to pass Travis tests * renamed one function to testBaudrate() and updated doc/reference.rst * Minor updates to doc/reference.rst * New lines added
This commit is contained in:
@ -108,6 +108,30 @@ void HardwareSerial::flush()
|
||||
delayMicroseconds(11000000 / uart_get_baudrate(_uart) + 1);
|
||||
}
|
||||
|
||||
void HardwareSerial::startDetectBaudrate()
|
||||
{
|
||||
uart_start_detect_baudrate(_uart_nr);
|
||||
}
|
||||
|
||||
unsigned long HardwareSerial::testBaudrate()
|
||||
{
|
||||
return uart_detect_baudrate(_uart_nr);
|
||||
}
|
||||
|
||||
unsigned long HardwareSerial::detectBaudrate(time_t timeoutMillis)
|
||||
{
|
||||
time_t startMillis = millis();
|
||||
unsigned long detectedBaudrate;
|
||||
while ((time_t) millis() - startMillis < timeoutMillis) {
|
||||
if ((detectedBaudrate = testBaudrate())) {
|
||||
break;
|
||||
}
|
||||
yield();
|
||||
delay(100);
|
||||
}
|
||||
return detectedBaudrate;
|
||||
}
|
||||
|
||||
#if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL)
|
||||
HardwareSerial Serial(UART0);
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user