完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在使用CUBE上搭了个STM32L151 UART的程序,但是串口在中断发数据时,发出去的全是乱码,不使用中断就是好的,有没有大神知道这是个什么情况?中断没配置好?可是就一句话开中断呀
|
|
相关推荐
9个回答
|
|
楼主用的是用HAL_USART_Transmit_IT发的?
|
|
|
|
不使用中断是指用的printf或者直接HAL_USART_Transmit吗?这个可能性很多,楼主能传下代码吗
|
|
|
|
是否设定的中断发送数据长度与实际数据长度不相同所致?
|
|
|
|
本帖最后由 zhdzhd-174422 于 2018-6-22 12:45 编辑
1:如果使用UART_Receive_IT来接收数据,可以把接收长度设置为1,然后在HAL_UART_RxCpltCallback里实现接收处理即可; 2:使用HAL_UART_Receive来接收,把size设置大一点,超时时间设置合适,即可; 首先用一个正确的程序试一下确保软件本身没有什么问题, 然后再依次检查波特率和VPB时钟频率是否匹配,因为它们不匹配的时候同样会出现乱码。 如果最后还是乱码的话,可能就是程序的问题了,需要检查程序是否有语法以外的错误。
|
|
|
|
|
|
|
|
Wu雨雨雨 发表于 2019-1-7 17:46 主要是中断发送异常,发出去的通过串口助手显示都是乱码 |
|
|
|
一样的,发的24位,显示的也是24位,但是数据都不对,用同样的配置在开发板上就是正常的 |
|
|
|
首先用一个正确的程序试一下确保软件本身没有什么问题, 然后再依次检查波特率和时钟频率是否匹配,因为它们不匹配的时候同样会出现乱码。 如果最后还是乱码的话,可能就是程序的问题了,需要检查程序是否有语法以外的错误。 |
|
|
|
楼主最好还是贴出代码来,不然一切都是靠猜测。还有发送的时候用延时输入是多少?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2162 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1997 浏览 3 评论
4593 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2140 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2659 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 18:55 , Processed in 0.718288 second(s), Total 88, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号