专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
大家都是用什么方式判断串口接收一段数据结束的呢
2019-12-20 21:46
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
15214
28
29
在使用GSM模块的时候,需要通过串口与模块进行通信。
这其中既有命令反馈的接收,也有通信数据的接收,它们的数据长度和接收的延迟都不一样。
我目前的做法是:串口接收到第一个数据的时候开始计时,如果接收到下一个数据则将计时清零,如果超时则判别一段数据接收完毕
我感觉这样做的效率有点低,好像无法利用DMA,不知道大家有什么好的方式呢?
我看手册上说STM32的串口有总线闲时中断,不知道这个是什么状况,可否利用一下呢?
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
28条回答
wicy001
1楼-- · 2019-12-23 02:11
精彩回答 2 元偷偷看……
加载中...
3050311118
2楼-- · 2019-12-23 07:02
DMA+空闲中断 很好用
加载中...
norman33
3楼-- · 2019-12-23 12:15
判断通信结束一般用两种方式 一是超时方式 比如连续收到数据多少时间内都没后续数据了 则表示数据结束 MODBUS就是这种方式 第二种就是帧头帧尾模式 定义若干特殊数据为帧头帧尾 如果数据区有帧头帧尾数据则用多个其他数据来转意
加载中...
kakarotto
4楼-- · 2019-12-23 13:45
fengchi 发表于 2015-2-10 09:39
空闲中断+DMA,如果是F0系列可以是超时中断+DMA,已经验证过,好用
6楼正解。一直在用。
加载中...
dreampet
5楼-- · 2019-12-23 17:51
用状态机吧,根据 识别命令结束,设置不同状态来接收命令响应、HTTP、FTP等通信数据才是王道,不管是命令交互还是数据传输,都不需要Delay(XX)这种方式的延时,不需要DMA、中断,甚至连软件模拟串口都能正常操作。
加载中...
伍师傅32
6楼-- · 2019-12-23 20:53
精彩回答 2 元偷偷看……
加载中...
上一页
1
2
3
4
5
下一页
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
STM32开发板免费用活动
7 个回答
stm32 处理 DHT11占用太多时间,大家程序是怎么设计的
8 个回答
分享一个STM32单片机做的离线编程器代码
9 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
6楼正解。一直在用。
一周热门 更多>