]> mj.ucw.cz Git - home-hw.git/commitdiff
ModBus: Even parity is standard
authorMartin Mares <mj@ucw.cz>
Mon, 8 Jul 2019 16:27:55 +0000 (18:27 +0200)
committerMartin Mares <mj@ucw.cz>
Mon, 8 Jul 2019 16:27:55 +0000 (18:27 +0200)
test-modbus/client/try.c
test-modbus/modbus.c

index e77adc72f4add0e41bcb04447dd6326dc2ff9ced..ca02c5b4443d8f4e8ae833fe55f752bbff365748 100644 (file)
@@ -7,7 +7,7 @@
 
 int main(void)
 {
-       modbus_t *mb = modbus_new_rtu("/dev/ttyUSB0", 19200, 'N', 8, 1);
+       modbus_t *mb = modbus_new_rtu("/dev/ttyUSB0", 19200, 'E', 8, 1);
        if (!mb)
                die("Cannot open modbus");
 
index 285c1522644187a08ccbefc361fab48ec172c680..a11c6c551849b367b6a72e4ff723e2ff0bbbd332 100644 (file)
@@ -94,10 +94,10 @@ void modbus_init(void)
        gpio_clear(GPIOA, GPIO1);
 
        usart_set_baudrate(USART2, 19200);
-       usart_set_databits(USART2, 8);
+       usart_set_databits(USART2, 9);
        usart_set_stopbits(USART2, USART_STOPBITS_1);
-       usart_set_parity(USART2, USART_PARITY_NONE);
-       // usart_set_parity(USART2, USART_PARITY_EVEN); // FIXME
+       // usart_set_parity(USART2, USART_PARITY_NONE);
+       usart_set_parity(USART2, USART_PARITY_EVEN);
        usart_set_flow_control(USART2, USART_FLOWCONTROL_NONE);
 
        rx_init();