Non puoi selezionare più di 25 argomenti
Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
|
- #ifndef __HARDWARE_H
- #define __HARDWARE_H
-
- #include"modbus_parse.h"
-
- #if (MODBUS_USART_BAUDRATE > 19200U)
-
- /*固定等待1750us,再减去IDLE中断等待的1个字符时间*/
- /*1.5个字符=750us-1个字符时间*/
- #define MODBUS_IDLE_TO_T15_US \
- ((750UL * MODBUS_USART_BAUDRATE - 10000000UL + MODBUS_USART_BAUDRATE - 1UL) / MODBUS_USART_BAUDRATE)
- /*2个字符=1000us*/
- #define MODBUS_T15_TO_T35_US 1000UL
- /*3.5个字符=1750us-1个字符时间*/
- #define MODBUS_IDLE_TO_T35_US \
- ((1750UL * MODBUS_USART_BAUDRATE - 10000000UL + MODBUS_USART_BAUDRATE - 1UL) / MODBUS_USART_BAUDRATE)
- #else
-
- /*IDLE中断已经过了1个字符的时间,还需等待2.5个字符*/
- /*1.5个字符-1个字符时间=0.5个字符时间*/
- #define MODBUS_IDLE_TO_T15_US \
- ((5000000UL + MODBUS_USART_BAUDRATE - 1UL) / MODBUS_USART_BAUDRATE)
- /*2个字符时间*/
- #define MODBUS_T15_TO_T35_US \
- ((20000000UL + MODBUS_USART_BAUDRATE - 1UL) / MODBUS_USART_BAUDRATE)
- /*3.5个字符-1个字符时间=2.5个字符时间*/
- #define MODBUS_IDLE_TO_T35_US \
- ((25000000UL + MODBUS_USART_BAUDRATE - 1UL) / MODBUS_USART_BAUDRATE)
- #endif
-
-
- extern uint8_t ModbusRxBuf[MODBUS_RX_BUF_SIZE];
- extern uint8_t ModbusTxBuf[MODBUS_TX_BUF_SIZE];
-
-
- void ModbusHardwareInit(void);
-
-
- #endif
|