Vous ne pouvez pas sélectionner plus de 25 sujets
Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
|
- #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
|