初级会员

- 积分
- 182
- 金钱
- 182
- 注册时间
- 2019-10-7
- 在线时间
- 36 小时
|
因为项目设计到Freemodbus,所以在网上找关于modbus的资料,刚开始不懂进行各种尝试,一段时间后终于找到了合适的,但是这个源码并没有说明,为了让有需要将Freemodbus移植到STM32F4探索者开发板上的同学少走弯路,在这分享一下我的一些经验,并分享代码,抛砖引玉,有什么不对的地方,请大家指点。1.从机相关信息 从机地址:01 从机保持寄存器个数:8 从机保持寄存器起始地址:0x0000
2.硬件连接:主机采用modbuspoll,从机用的探索者开发板,用USB转485接口,连接上位机和开发板;
3.功能测试:测试功能码0x06(写单个保持寄存器),主机发送:01 06 00 01 03 E8 xx xx (其中xx xx为CRC校验码)modbuspoll可以自动生成CRC校验码,这个命令的意思是向地址为0x0001的寄存器写入数据0x03E8,从机返回:01 06 00 01 03 E8 xx xx与主机一致,还测试了功能码0x03,0x10,都可以正常工作。
4.同时产生一个疑问,如果我想将写入保持寄存器中的数据提取出来,比如我要将写入地址为0x0001的保持寄存器中的数据0x03E8提取出来,并赋值给一个u8类型的变量fre1,我该怎么编程序呢?
|
|