STM32学习7

本文介绍了STM32中遇到的串口发送数据问题及解决方案,包括如何避免数据覆盖,以及如何利用printf方法打印数据到电脑。通过正确使用while循环等待发送完成标志位,确保数据能够准确无误地发送。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.      串口补充:补充是因为昨天晚上发现,串口发送数据的函数USART_SendData(USART1,num);不能使用了,我也不懂这是为什么,上次自学的时候是可以用的,网上百度以后,好像说是这个库函数有缺陷,会出现覆盖什么的问题。

2.      解决串口发送数据被覆盖问题:如果在USART_SendData(USART1,num);下紧接着发送数据,有可能导致这个数据被覆盖,而不能正确的发送数据到电脑上,正确的做法是,在这一句下面紧接着写while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);,显而易见,这是判断发送标志位的,如果发送成功,才能做下一步,这样保证了发送数据的正确性。

3.      而打印数据到电脑上,STM32提供了使用printf方法,比较方便,但是还是需要封装一下自己的函数,这样比较灵活。封装了发送一个字符和一个字符串的库函数,这样和printf联合使用比较灵活好用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值