mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
Added Serial.baudRate() to get current baud rate (#2079)
* Changed WifInfo settings and WeMos board name * Added board name to have in sketch and MDNS/OTA * board naming convention https://github.com/esp8266/Arduino/pull/2054 * Added Serial.baudRate() to get current baud rate * Added more description - Added note about Software Serial Implementation - Indicate this will works on ESP8266 boards only
This commit is contained in:
parent
cbe8f7cb2d
commit
44d27228c5
@ -180,6 +180,13 @@ size_t HardwareSerial::write(uint8_t c)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int HardwareSerial::baudRate(void)
|
||||||
|
{
|
||||||
|
// Null pointer on _uart is checked by SDK
|
||||||
|
return uart_get_baudrate(_uart);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
HardwareSerial::operator bool() const
|
HardwareSerial::operator bool() const
|
||||||
{
|
{
|
||||||
return _uart != 0;
|
return _uart != 0;
|
||||||
|
@ -133,6 +133,7 @@ public:
|
|||||||
void setDebugOutput(bool);
|
void setDebugOutput(bool);
|
||||||
bool isTxEnabled(void);
|
bool isTxEnabled(void);
|
||||||
bool isRxEnabled(void);
|
bool isRxEnabled(void);
|
||||||
|
int baudRate(void);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int _uart_nr;
|
int _uart_nr;
|
||||||
|
@ -84,6 +84,21 @@ You also need to use `Serial.setDebugOutput(true)` to enable output from `printf
|
|||||||
|
|
||||||
Both `Serial` and `Serial1` objects support 5, 6, 7, 8 data bits, odd (O), even (E), and no (N) parity, and 1 or 2 stop bits. To set the desired mode, call `Serial.begin(baudrate, SERIAL_8N1)`, `Serial.begin(baudrate, SERIAL_6E2)`, etc.
|
Both `Serial` and `Serial1` objects support 5, 6, 7, 8 data bits, odd (O), even (E), and no (N) parity, and 1 or 2 stop bits. To set the desired mode, call `Serial.begin(baudrate, SERIAL_8N1)`, `Serial.begin(baudrate, SERIAL_6E2)`, etc.
|
||||||
|
|
||||||
|
A new method has been implemented on both `Serial` and `Serial1` to get current baud rate setting. To get the current baud rate, call `Serial.baudRate()`, `Serial1.baudRate()`. Return a `int` of current speed. For example
|
||||||
|
```cpp
|
||||||
|
// Set Baud rate to 57600
|
||||||
|
Serial.begin(57600);
|
||||||
|
|
||||||
|
// Get current baud rate
|
||||||
|
int br = Serial.baudRate();
|
||||||
|
|
||||||
|
// Will print "Serial is 57600 bps"
|
||||||
|
Serial.printf("Serial is %d bps", br);
|
||||||
|
```
|
||||||
|
|
||||||
|
I've done this also for official ESP8266 [Software Serial](https://github.com/esp8266/Arduino/blob/master/doc/libraries.md#softwareserial) library, see this [pull request](https://github.com/plerup/espsoftwareserial/pull/22).
|
||||||
|
Note that this implementation is **only for ESP8266 based boards**, and will not works with other Arduino boards.
|
||||||
|
|
||||||
## Progmem
|
## Progmem
|
||||||
|
|
||||||
The Program memory features work much the same way as on a regular Arduino; placing read only data and strings in read only memory and freeing heap for your application.
|
The Program memory features work much the same way as on a regular Arduino; placing read only data and strings in read only memory and freeing heap for your application.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user