1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00

Added bit mask and constant for SerialConfig parameter

Permit use bit config avoiding test/compare all "hard-coded" values.
example
```arduino
if (section & CFG_HLP_MODBUS) {
DebuglnF("\r\n===== Modbus");
DebugF("Speed       : "); Debug(config.modbus.baud);

switch (config.modbus.proto & UART_NB_BIT_MASK) {
case UART_NB_BIT_5: Debug(" 5"); break;
case UART_NB_BIT_6: Debug(" 6"); break;
case UART_NB_BIT_7: Debug(" 7"); break;
case UART_NB_BIT_8: Debug(" 8"); break;
default : Debug(" ?"); break;
}
switch (config.modbus.proto & UART_PARITY_MASK) {
case UART_PARITY_NONE: Debug("N"); break;
case UART_PARITY_EVEN: Debug("E"); break;
case UART_PARITY_ODD : Debug("O"); break;
default : Debug("?"); break;
}
switch (config.modbus.proto & UART_NB_STOP_BIT_MASK) {
case UART_NB_STOP_BIT_0: Debug("0"); break;
case UART_NB_STOP_BIT_1: Debug("1"); break;
case UART_NB_STOP_BIT_15: Debug("15"); break;
case UART_NB_STOP_BIT_2 : Debug("2"); break;
default : Debug("?"); break;
}

DebugF("\r\nSlave Addr  : "); Debugln(config.modbus.slave);
DebugF("Holding Reg : 0x"); Debugln2(config.modbus.hr_addr,HEX);
DebugF("Enable Pin  : "); Debugln(config.modbus.en_pin);
}
```
This commit is contained in:
Charles 2016-02-11 17:47:49 +01:00
parent 0ad2738d81
commit e3bf9bb1e8

View File

@ -34,6 +34,49 @@ extern "C" {
#define UART_NO -1 #define UART_NO -1
// Options for `config` argument of uart_init // Options for `config` argument of uart_init
#define UART_NB_BIT_MASK 0B00001100
#define UART_NB_BIT_5 0B00000000
#define UART_NB_BIT_6 0B00000100
#define UART_NB_BIT_7 0B00001000
#define UART_NB_BIT_8 0B00001100
#define UART_PARITY_MASK 0B00000011
#define UART_PARITY_NONE 0B00000000
#define UART_PARITY_EVEN 0B00000010
#define UART_PARITY_ODD 0B00000011
#define UART_NB_STOP_BIT_MASK 0B00110000
#define UART_NB_STOP_BIT_0 0B00000000
#define UART_NB_STOP_BIT_1 0B00010000
#define UART_NB_STOP_BIT_15 0B00100000
#define UART_NB_STOP_BIT_2 0B00110000
#define UART_5N1 ( UART_NB_BIT_5 | UART_PARITY_NONE | UART_NB_STOP_BIT_1 )
#define UART_6N1 ( UART_NB_BIT_6 | UART_PARITY_NONE | UART_NB_STOP_BIT_1 )
#define UART_7N1 ( UART_NB_BIT_7 | UART_PARITY_NONE | UART_NB_STOP_BIT_1 )
#define UART_8N1 ( UART_NB_BIT_8 | UART_PARITY_NONE | UART_NB_STOP_BIT_1 )
#define UART_5N2 ( UART_NB_BIT_5 | UART_PARITY_NONE | UART_NB_STOP_BIT_2 )
#define UART_6N2 ( UART_NB_BIT_6 | UART_PARITY_NONE | UART_NB_STOP_BIT_2 )
#define UART_7N2 ( UART_NB_BIT_7 | UART_PARITY_NONE | UART_NB_STOP_BIT_2 )
#define UART_8N2 ( UART_NB_BIT_8 | UART_PARITY_NONE | UART_NB_STOP_BIT_2 )
#define UART_5E1 ( UART_NB_BIT_5 | UART_PARITY_EVEN | UART_NB_STOP_BIT_1 )
#define UART_6E1 ( UART_NB_BIT_6 | UART_PARITY_EVEN | UART_NB_STOP_BIT_1 )
#define UART_7E1 ( UART_NB_BIT_7 | UART_PARITY_EVEN | UART_NB_STOP_BIT_1 )
#define UART_8E1 ( UART_NB_BIT_8 | UART_PARITY_EVEN | UART_NB_STOP_BIT_1 )
#define UART_5E2 ( UART_NB_BIT_5 | UART_PARITY_EVEN | UART_NB_STOP_BIT_2 )
#define UART_6E2 ( UART_NB_BIT_6 | UART_PARITY_EVEN | UART_NB_STOP_BIT_2 )
#define UART_7E2 ( UART_NB_BIT_7 | UART_PARITY_EVEN | UART_NB_STOP_BIT_2 )
#define UART_8E2 ( UART_NB_BIT_8 | UART_PARITY_EVEN | UART_NB_STOP_BIT_2 )
#define UART_5O1 ( UART_NB_BIT_5 | UART_PARITY_ODD | UART_NB_STOP_BIT_1 )
#define UART_6O1 ( UART_NB_BIT_6 | UART_PARITY_ODD | UART_NB_STOP_BIT_1 )
#define UART_7O1 ( UART_NB_BIT_7 | UART_PARITY_ODD | UART_NB_STOP_BIT_1 )
#define UART_8O1 ( UART_NB_BIT_8 | UART_PARITY_ODD | UART_NB_STOP_BIT_1 )
#define UART_5O2 ( UART_NB_BIT_5 | UART_PARITY_ODD | UART_NB_STOP_BIT_2 )
#define UART_6O2 ( UART_NB_BIT_6 | UART_PARITY_ODD | UART_NB_STOP_BIT_2 )
#define UART_7O2 ( UART_NB_BIT_7 | UART_PARITY_ODD | UART_NB_STOP_BIT_2 )
#define UART_8O2 ( UART_NB_BIT_8 | UART_PARITY_ODD | UART_NB_STOP_BIT_2 )
/*
#define UART_5N1 0x10 #define UART_5N1 0x10
#define UART_6N1 0x14 #define UART_6N1 0x14
#define UART_7N1 0x18 #define UART_7N1 0x18
@ -58,6 +101,7 @@ extern "C" {
#define UART_6O2 0x37 #define UART_6O2 0x37
#define UART_7O2 0x3b #define UART_7O2 0x3b
#define UART_8O2 0x3f #define UART_8O2 0x3f
*/
// Options for `mode` argument of uart_init // Options for `mode` argument of uart_init
#define UART_FULL 0 #define UART_FULL 0