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

【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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版