你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【MCU实战经验】STM32串口收发之FIFO  

[复制链接]
小鹰fighting 发布时间:2014-4-20 23:37
FIFO即队列,先入先出,使用队列方式处理串口数据很方便。
在处理串口数据时,常常会碰到一些问题。比如上位机发来一串指令,指令格式不是固定的,可长可短,有时候不好判断指令是否完整。一般是靠帧头和振尾处理,还有一种办法,不知道有没有人使用过,就是判断发送字符之间的时间间隔,比如发送一个字节最多需要11位(1个起始位,8个数据位,最多两个停止位),假设波特率为9600,那么发送一个字节最多使用时间为T = 11 / 9600 = 1.146ms ,
那么我们就可以这个判断,在3ms之内,如果接受字节没有增加,那么该字节就接收完毕,我就是这个判断的,没出现过什么问题
程序如下:如果串口接受队列接受个数不变,则接受完成,无需判断帧尾,当然,这里最好使用CRC校验,以防误读。
如果有人要咨询modbus协议,可以留言,我这个程序处理这种协议非常方便的。
首先得创建队列。
//**********************************************************

//***********************************************************

以上是接受,下面讲讲发送。
发送就是入列,然后使用“USART_ITConfig(USART2, USART_IT_TXE, ENABLE) ; ”进入串口中断进而发送数据

下面来讲讲串口中断如果配置的。大致意思就是接受字节入队,发送出队。

不知大家对这个写法有什么看法,欢迎各位留言指教
附件为队列的程序,感兴趣的话可以下载看看。

Fifo4Serial.zip

下载

1.03 KB, 下载次数: 1617

评分

参与人数 2 ST金币 +2 收起 理由
hdream + 1
gnezgnez + 1 很给力!

查看全部评分

收藏 8 评论66 发布时间:2014-4-20 23:37

举报

66个回答
kakamyr 回答时间:2014-6-14 10:46:27

回复:【MCU实战经验】STM32串口收发之FIFO

谢谢楼主的分享,学习了
小李子 回答时间:2014-4-23 09:51:19

RE:【MCU实战经验】STM32串口收发之FIFO

STM32串口收发之FIFO强大
WANGMING02YSP 回答时间:2014-4-22 20:23:46

RE:【MCU实战经验】STM32串口收发之FIFO

好东西啊,我想了解MODBUS协议程序 啊,能传我一份吗?739822539@qq.COM
pluto-422279 回答时间:2014-5-23 00:40:10

回复:【MCU实战经验】STM32串口收发之FIFO

 谢谢啦~!值得学习@!
gavin1218 回答时间:2014-5-23 10:17:26

回复:【MCU实战经验】STM32串口收发之FIFO

看看这个  觉得不错
ty64613 回答时间:2014-5-23 14:37:43

回复:【MCU实战经验】STM32串口收发之FIFO

顶......................
sly196430 回答时间:2014-5-23 21:52:05

RE:【MCU实战经验】STM32串口收发之FIFO

学习学习!!!!
chunyangjs 回答时间:2014-6-11 18:22:32

RE:【MCU实战经验】STM32串口收发之FIFO

学习学习!!!!
andyzhao365-323 回答时间:2014-6-12 21:47:09

回复:【MCU实战经验】STM32串口收发之FIFO

 前来学习 前来学习 前来学习 前来学习 前来学习

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版