发新帖我要提问
12
返回列表
打印
[STM32F1]

求助,串口助手发送一串字符,比如10个,但只能收到第一个字符,后面的丢失,求原因!

[复制链接]
楼主: zhlzbl
手机看帖
扫描二维码
随时随地手机跟帖
21
liuyuqiong1| | 2014-9-26 11:58 | 只看该作者 回帖奖励 |倒序浏览
zhlzbl 发表于 2014-9-26 10:41
已经把发送相关的调用都关闭了,也不行。
尝试把IRQ中的printf全部关闭,再main中判断flag并打印接收的到 ...

那应该是你的逻辑上的问题,那现在可以了吧?

使用特权

评论回复
22
qq4988| | 2014-9-26 11:58 | 只看该作者
zhlzbl 发表于 2014-9-26 11:55
你是说printf的使用相当于发送了一串对么?
printf使用的usart2,接收是usart1,不是同一个串口。
把此处 ...

那你试一下串口1与串口2的中断优先级设一下,串口1优先于串口2

使用特权

评论回复
23
zhlzbl|  楼主 | 2014-9-26 12:35 | 只看该作者
liuyuqiong1 发表于 2014-9-26 11:58
那应该是你的逻辑上的问题,那现在可以了吧?

把串口IRq中的printf关了,就正常了哈~~!

使用特权

评论回复
24
zhlzbl|  楼主 | 2014-9-26 12:55 | 只看该作者
qq4988 发表于 2014-9-26 11:58
那你试一下串口1与串口2的中断优先级设一下,串口1优先于串口2

恩,稍后试试。

使用特权

评论回复
25
xjjspace| | 2014-9-26 13:34 | 只看该作者
建议了解一下重入函数和不可重入函数,printf函数存在这个问题。
具体可以看看下面链接的11题。
http://wenku.baidu.com/link?url= ... UEbGBG4GUePiGkaU_7m

使用特权

评论回复
26
arefeng| | 2014-10-7 11:10 | 只看该作者
PRINTF关掉了中断,别的地方能用是在某个位置开启了中断。我一直不用PRINTF这个函数,觉得不好用,效率不高。但华为面试是肯定要考这个函数的

使用特权

评论回复
27
学生0时代| | 2014-10-14 15:39 | 只看该作者
看了

使用特权

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

本版积分规则