modbus移植到S32K146
1、认识
modbus协议在工程应用领域非常广泛,本质上通过UART串口让主机和从机之间进行通信,modbus移植需要的知识涉及到:串口电路(485或者232),UART驱动,modbus协议
UART串口搞过单片机的应该都熟悉
485电路或者232电路网上有好多,主要注意抗干扰或者隔离问题
modbus协议网上也有很多教程
2、准备
1)硬件上485或者232电路测试好
2)软件上modbus协议栈,可以从官网直接下载,裸机版本
3、移植
1)直接把裸机modbus代码集成到自己工程中,编译不要出错
2)配置好两个重要驱动:1)uart串口;2)串口定时器
uart口用来发送和接收数据,串口定时器用来确认modbus帧与帧报文之间的时间间隔
3)调用初始化函数和轮询函数
4、调试
这部分比较重要,上面步骤一般大家都会按照流程执行,而调试部分比较复杂,每个人碰到的问题都不一样,我列举一下我当时调试碰到你的问题
1)UART可以接收数据,但是modbus协议栈接收不到完整一帧报文
2)主机通信卡住
3)一帧报文可以正常接收,但是无法发出完整一帧数据
4)硬件电路上拉和下拉问题
这里可以用modbus-poll工具去调试,重点设置好串口定时器,串口接收中断使能,串口发送使能,理解好modbus地址如何在代码中体现

浙公网安备 33010602011771号