串口通信时数据最高位都被置1了,比如STM32发送0给电脑,串口调试助手收到的数据是0x80,这是为什么?这个问题困扰我一整天了。。。 注:时钟,波特率都设置正确
问题已解决,确实是设置了奇偶校验位,导致出错。
USART_InitStructure.USART_Parity = USART_Parity_Even;
改为:
USART_InitStructure.USART_Parity = USART_Parity_No;
原本以为ISP串口下载程序需要把loader设置成Even,所以把串口程序也改成Even了。
这里再次感谢hanshuyujifen2帮我指正!
打赏帖 | |
---|---|
【STM32F769】调试SD驱动,由于其时钟配置不对引起的错误以及排查记录被打赏35分 | |
C语言函数宏的三种封装方式被打赏50分 | |
【STM32F769】记一次由于开启D-Cache之后DMA数据传输出错的问题查找与解决被打赏35分 | |
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769LVGL优化显示被打赏26分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769驱动ST7789以及显示优化被打赏36分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 PAL模拟I2C驱动适配被打赏23分 | |
我想要一部加热台+电源硬件设计规范被打赏16分 |