OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4311|回复: 2

蓝牙串口+DMA接收?

[复制链接]

5

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2017-9-28
在线时间
18 小时
发表于 2018-3-29 20:27:22 | 显示全部楼层 |阅读模式
10金钱
手机蓝牙和单片机蓝牙连接,手机APP检测到的数据会定时通过蓝牙传回给单片机,每次传21字节(如果没有出错)。本人刚开始是直接串口中断接收的,但是由于单次发送的数据量有点大(21字节),而且手机的发送速度有点快,导致单片机经常跑飞。经过多天的搜索,查书,看手册,终于发现了DMA或许可以解决我的问题。但是我有些地方还是不是很明白,想请教各位大咖。假设我接收的存储区是定义21字节大小的,在一开始数据传输就出错了,那么怎么解决?因为手机数据是一直在发送的,即时在错误中断里重新配置DMA但是怎么知道接收到的数据是正确的(手机传回数据首字节是换行)?还有配置DMA和串口的时候有什么要注意的吗?好像先开启什么,后开启什么数据就会出错了。(本人小白白)
或者你们有好的接收思路可以和我分享一下下

最佳答案

查看完整内容[请看2#楼]

你每次21字节,完全没问题啊。串口是可以持续不断的收数据的。只要你能及时处理这些接收到的数据。 你代码跑飞,看看是不是数据溢出?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2018-3-29 20:27:23 | 显示全部楼层
你每次21字节,完全没问题啊。串口是可以持续不断的收数据的。只要你能及时处理这些接收到的数据。 你代码跑飞,看看是不是数据溢出?
回复

使用道具 举报

5

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2017-9-28
在线时间
18 小时
 楼主| 发表于 2018-3-31 19:44:27 | 显示全部楼层
正点原子 发表于 2018-3-29 20:27
你每次21字节,完全没问题啊。串口是可以持续不断的收数据的。只要你能及时处理这些接收到的数据。 你代码 ...

谢谢原子哥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 02:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表