| 本帖最后由 在路上… 于 2019-3-29 10:22 编辑 如题,自己画的STM32L151C8TA的板子 内部HSI时钟,我直接使用CUBEMX生成的串口测试工程,发现串口输出的数据乱码,具体表现为我输出 0D 0A 但实际输出的确是8D 8A 我输出0x30 31 3 2实际输出0x70 71 72 这是什么问题啊?? 我还试了点亮LED灯 这个是正常的 。是我供电问题 还是其他问题呢? 按理说就一个最小系统版加LED和按键 不应该有啥问题啊 郁闷 |
hseTest.zip
下载5.46 MB, 下载次数: 99, 下载积分: ST金币 -1
STM32L151 stop模式 rtc 闹钟唤醒不稳定
STM32L151RDT6 SDIO读写SD卡 FIFO下溢错误,不知是什么原因
STM32L152 RTC唤醒STOP mode问题
STM32L151为何FLASH擦除后全是是0x00?
求助!!STM32L151中的RTC唤醒(wake up)中断问题
STM32L152开发板原理图及说明文档
STM32L1系列,如何释放PA15为普通GPIO端口
STM32L151读取W25Q16的ID错误,请帮忙看看是什么原因
STM32L151 STOP模式唤醒程序跑哪儿了
请问有人可以STM32L152驱动LCD段码屏例程吗?
微信公众号
手机版
同步串口的时钟输出管脚PA8
波特率用的115200?
时钟设的外部16M,HSE
评分
查看全部评分
一开始我也怀疑是我配置问题 所以我用cubemx生成的代码 配置应该不会错了吧? 有没有可能是硬件问题呢
把你的工程发上来,你的描述不完全,或许可能还有错误。
首先用示波器或逻辑分析仪,看一下波特率对不对;
其次串口数据位设置对了没有?STM32的数据位数一般包括数据位+停止位(+校验位,是否包括这位得查一下,一时记不清)。
如果你要设置8位数据位,1位停止位,无校验,那么数据长度要设成9。
发0D 0A 实际输出的确是8D 8A,这可可能是数据位不够,像是少一位;但是发0x30 31 32 实际输出0x70 71 72,这个就不是少数据位的问题了,所以又产生了矛盾。如果是TTL输出的话,是不应该出现这种现象的;一般RS232芯片用法不对时,容易出数据错误问题。
评分
查看全部评分
这是cubemx生成的配置代码,示波器挂过 波特率是对的
husart1.Init.WordLength = USART_WORDLENGTH_8B; 这条肯定是不对的
发个工程会死人吗?这样挤牙膏有意义?
这个是MCU的pcb
pcb
老哥稳住 正在传工程 没搞过附件 还在琢磨
8个数据位 配置应该是对的
确定HSI起震了吗?倍频系数与分频系数设置的多少?要最终的clk为32Mhz的
评分
查看全部评分
看了你的工程设置,8位数据位的确没错,在这个初始化结构体中的确只包含数据位和校验位。
这里看到你用了HSE,而不是HSI;串口用的是同步方式,这个方式很少用啊,不知道你用的什么地方呢,9600波特率已经很低了,按说不需要同步模式。用了同步串口也不要紧,对发送没影响;你的PA8脚接对了吗?没有没跟其它资源冲突。
PA8是干嘛用的? 其他没什么资源了 这个板就用了led和按键 其他就是串口了
评分
查看全部评分
嗯嗯 非常感谢 我焊了外部时钟 使用外部时钟后数据正常了 应该是内部时钟不准导致偶尔乱码 再次感谢您的帮助