|
- #ifndef __MODBUS_PARSE_H
- #define __MODBUS_PARSE_H
-
- #include "ucos_ii.h"
-
-
- /*接收数组大小*/
- #define MODBUS_RX_BUF_SIZE 256
- /*发送数组大小*/
- #define MODBUS_TX_BUF_SIZE 256
-
- /*modbus通信波特率*/
- #define MODBUS_USART_BAUDRATE 115200UL
-
- /*从机地址*/
- #define SLAVE_ADDRES 0x01
-
- /*错误码*/
- #define ERR_FUNC 0x01
- #define ERR_OPE_ADDRES 0x02
- #define ERR_DATA 0x03
- #define ERR_SLAVE 0x04
-
- #define ERR_CRC 0x1F
- #define ERR_SLAVE_ADDRES 0x2F
-
- /*modbus帧结构*/
- typedef struct Modbus_Frame
- {
- uint8_t slaveAddres; /*从机地址*/
- uint8_t func; /*功能码*/
- uint16_t opeAddres; /*操作地址*/
- uint16_t opeNum; /*操作数量*/
- uint8_t wNum; /*写入字节数*/
- uint8_t wData[256]; /*写入数据*/
- uint16_t crc; /*CRC校验码*/
- }MODBUS_FRAME;
-
-
- /*接收到数据帧信号量*/
- extern OS_EVENT *ModbusReceived;
- extern uint8_t ModbusRxBuf[MODBUS_RX_BUF_SIZE]; /*接收数组*/
- extern uint16_t ModbusRxLen; /*接收数据长度*/
- extern uint8_t ModbusTxBuf[MODBUS_TX_BUF_SIZE]; /*发送数组*/
- extern uint16_t ModbusTxLen; /*发送数据长度*/
-
-
- uint8_t ModbusReadCoils(uint16_t addres, uint16_t num);
- uint8_t ModbusWriteCoils(uint16_t addres, uint16_t num, uint8_t *data);
- uint8_t ModbusReadRegs(uint16_t addres, uint16_t num);
- uint8_t ModbusWriteRegs(uint16_t addres, uint16_t num, uint8_t *data);
- uint8_t ModbusWriteReg(uint16_t addres, uint8_t *data);
- uint8_t ModbusWriteCoil(uint16_t addres, uint8_t *data);
- uint8_t ModbusExtReadOdd(uint16_t num);
- uint8_t ModbusErrReply(uint8_t func, uint8_t err);
-
-
- #endif
|