STM32F103的modbus主机程序(USART2+ TIMER 和 USART2 +DMA)

本文分享了STM32F103上实现Modbus主机功能的两种程序,分别基于USART2配合TIMER和USART2配合DMA。提供了程序代码片段,并推荐了用于模拟从机的modbus slave工具。还引用了两篇参考文章,一篇介绍了状态机框架,另一篇讲解了DMA配置。

有关modbus主机的程序,比较少见。主要原因是,其比较简单。

自己调试了2个版本的程序,供大家参考。

 

版本1: 常规的通过定时器,实现对从机数据的接收。

版本2: 取消定时器,通过DMA对每帧数据的接收。

从机:可以使用modbus slave这个工具进行设置。

 

下载地址为:

https://download.youkuaiyun.com/download/sym_simon/12505453

 

 

版本1:部分代码如下:

1.主函数

2.串口初始化 

 

 

 3.命令发送函数

4.串口中断发送、接收函数

 

 

5.定时器中断函数(3.5T)

 

 

 

 

6.检测初始函数

 

 

 

 

版本2:和版本1不同的地方,就是没有用定时器来做3.5T的判断。

1.主函数

 

2.中断接收函数(这一点非常不同)

其余部分,在源码中全部都有了。

 

 

参考的博文,

http://www.eemaker.com/modbus-host.html       讲状态机,框架比较好。

https://blog.youkuaiyun.com/hola_ya/article/details/81560204   讲DMA的配置

评论 18
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值