求助串口发送实验的问题

2019-07-21 07:46发布

官方的程序,我把发送的数据改了一下,电脑接收到的是012。后面把 if 语句去掉想让它自动发,结果接收到的变成了 12 ,这是为什么?


捕获.PNG


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
wangmingwei093
1楼-- · 2019-07-21 09:55
easegg 发表于 2018-11-19 16:31
请问你说的是if的判断还是for的判断?我刚刚又试了一下,发现只有for循环是012,换行失效,加个延时就是1 ...

你试试这样的
while(USART_GetFlagStatus(USART1,USART_FLAG_TC) != SET);
USART_SendData9USART1,数据);
wangmingwei093
2楼-- · 2019-07-21 10:09
先判断,在发送,先发送的时候,会把已经在dr里的数据给覆盖掉,就丢失了
wangmingwei093
3楼-- · 2019-07-21 14:10
 精彩回答 2  元偷偷看……
easegg
4楼-- · 2019-07-21 16:26
wangmingwei093 发表于 2018-11-19 16:12
先判断,在发送,先发送的时候,会把已经在dr里的数据给覆盖掉,就丢失了

请问你说的是if的判断还是for的判断?我刚刚又试了一下,发现只有for循环是012,换行失效,加个延时就是12,有换行
easegg
5楼-- · 2019-07-21 22:06
wangmingwei093 发表于 2018-11-19 15:51
你试试这样的
while(USART_GetFlagStatus(USART1,USART_FLAG_TC) != SET);
USART_SendData9USART1,数据 ...

可以了!!这样就输出012了,而且有换行,虽然不是很懂,就先用着吧,谢啦

一周热门 更多>