打印
[应用相关]

[原创]STM32F的232口简易MODBUS-RTU通讯程序

[复制链接]
楼主: sunke9
手机看帖
扫描二维码
随时随地手机跟帖
21
sunke9|  楼主 | 2008-7-1 16:30 | 只看该作者 回帖奖励 |倒序浏览

楼上有问题在这里说好吗?

公司不让聊天

使用特权

评论回复
22
yewuyi| | 2008-7-4 09:35 | 只看该作者

几个问题

1、3.5字节的时间判断没有看到?!
2、1.5字节的时间判断也没有看到?!
3、串口接收的缓冲没看到?!
4、MODBUS协议要求在报文的头和尾都有一个至少3.5字节的空闲时间,我也没有看到。
5、485的方向控制也没有看到!?
我个人的建议(MODBUS从机程序):
MODBUS通信采用总线空闲时间超时判断接受结束,发送采用定时查询发送的方式,MODBUS协议规定的是最小3.5个字节时间,如果按照9600BPS计算的话,大约为3.65ms,所以一般推荐使用4MS取整计算。


KAO,有个会要开,一会回来!

使用特权

评论回复
23
sunke9|  楼主 | 2008-7-4 13:10 | 只看该作者

我用的的是定时器中断来产生标志位

在主程序里根据标志位确定接收完成.

2.我这里没有1.5字节的时间判断.
3.u8 Uart0_rev_buff[100];//com0串口接收缓冲区
4.我的定时器时间是大概估计的,没有精确计算.
5.这里用的是232口,不需要485的方向控制.

使用特权

评论回复
24
thxcumt| | 2008-7-5 11:05 | 只看该作者

也发我一份,谢谢

也发我一份,谢谢
thx19821018@163.com

使用特权

评论回复
25
luckyfzl| | 2008-7-9 12:50 | 只看该作者

麻烦给俺一份,谢谢!

luckyfzl@126.com

使用特权

评论回复
26
fj02346| | 2008-7-9 13:25 | 只看该作者

谢谢

请给我发一份
fj02346@163.com

使用特权

评论回复
27
hfx| | 2008-7-10 07:37 | 只看该作者

学习一下

请问能将代码发给我一份吗?
    hfx1972@163.com
          期盼,谢谢!!!

使用特权

评论回复
28
sunke9|  楼主 | 2008-7-10 11:26 | 只看该作者

楼上的4位都收到了吧

使用特权

评论回复
29
heciang| | 2008-7-19 19:13 | 只看该作者

不错,可以给我发一份吗?

不错,可以给我发一份吗?我的邮箱:okarmdy@gmail.com

使用特权

评论回复
30
jetbo| | 2008-7-20 11:41 | 只看该作者

.

请给我发一份

dglomak@126.com

谢谢

使用特权

评论回复
31
dkill| | 2008-8-14 23:01 | 只看该作者

楼主 我有一些 疑问

你的串口中断里面只是开启了定时中断  却没有复位计数值  这样能起到作用吗? 

使用特权

评论回复
32
sunke9|  楼主 | 2008-8-15 09:06 | 只看该作者

楼上看的真仔细!

我原来以为我禁止了计数器,下次在允许就应该从0开始计数呢.刚才我试了一下禁止了计数器只是停止计数再次允许的时候是接着上一次的值继续,那样的话只有计到计数器满再循环回来才能发生比较中断了.
但是在我用ST-LINK仿真的时候我发现一个问题,就是发生TIM2中断的时候计数器的值不是比较寄存器的值,我就不明白是为什么了,能不能计数器是从允许计数时的值作为比较的起点加上比较寄存器的初值和计数器比较产生中断呢?
请高手帮着分析分析.

使用特权

评论回复
33
sunke9|  楼主 | 2008-8-15 09:08 | 只看该作者

我的截图

使用特权

评论回复
34
dkill| | 2008-8-15 09:24 | 只看该作者

我觉得没必要设为比较中断

是不是可以直接设为溢出中断就可以了  计数到上线就会产生中断  这样只要在每次接受的时候复位计数值就可以了
   楼主的问题是不是就是因为设置的比较中断  可能这个计数只是从使能计数开始的时候算起
   楼主  能留下一个联系方式吗?
     我的  chenjinb03@163.com
 期待您的回信

使用特权

评论回复
35
eddia2000| | 2008-8-15 11:32 | 只看该作者

很有参考价值

很有参考价值,请发我一份,谢谢!
eddia2000@126.com

使用特权

评论回复
36
eddia2000| | 2008-8-15 11:35 | 只看该作者

很有参考价值

很有参考价值,请发我一份,谢谢!

    eddia2000@126.com

使用特权

评论回复
37
laotong| | 2008-8-15 12:07 | 只看该作者

给我发一分,谢谢!

laotong@163.com

使用特权

评论回复
38
sunke9|  楼主 | 2008-8-15 13:13 | 只看该作者

回35楼:这个当然可以用溢出中断

只是,我做这个程序的时候还不会用STM32的定时器溢出中断.我后来专为研究定时器溢出中断,发过一个帖子叫做STM32F单纯的TIM2定时器溢出中断试验程序

使用特权

评论回复
39
wwb0708| | 2008-8-15 18:05 | 只看该作者

谢谢!

给我一份!谢谢

使用特权

评论回复
40
wwb0708| | 2008-8-15 18:08 | 只看该作者

谢谢!

给我一份,谢谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则