论坛元老
- 积分
- 3158
- 金钱
- 3158
- 注册时间
- 2017-7-10
- 在线时间
- 361 小时
|
前几天研究学习freemodbus,发现这里用在freertos上的例子并不是很多, 故收集和整流了一下示例程序供参考。stm32f103+freeRTOS+freeModbus. 具体应用时主要修改portserial.c,porttimer.c中串口和定时器,
以及修改如下modbus地址和寄存器和实际应用对应即可
//输入
#define REG_INPUT_START 0x400
#define REG_INPUT_NREGS 8
//保持
#define REG_HOLDING_START 0x300
#define REG_HOLDING_NREGS 8
//线圈
#define REG_COILS_START 0x100
#define REG_COILS_NREGS 24
//离散
#define REG_DISCRETE_START 0x200
#define REG_DISCRETE_NREGS 24
USHORT usRegInputStart = REG_INPUT_START;
USHORT usRegInputBuf[REG_INPUT_NREGS]={0};
USHORT usRegHoldingStart = REG_HOLDING_START;
USHORT usRegHoldingBuf[REG_HOLDING_NREGS] = {0};
USHORT usRegCoilsStart = REG_COILS_START;
UCHAR usRegCoilsBuf[REG_COILS_NREGS/8]={0};
USHORT usRegDiscreteStart = REG_DISCRETE_START;
UCHAR usRegDiscreteBuf[REG_DISCRETE_NREGS/8]={0};
|
|