STM32L051C8T6芯片低功耗串口LPUART+DMA。 我用STM32CUBEMX 生成了程序LPUART以及UART2串口+DMA的程序。 重新写了RxCpltCall函数里面有回显功能,其中UART2的接收是能够回显的。但是LPUART就无法做到回显。两者之间除了中断优先级之外其他基本都一样。我也查阅了文档,看是否是STM32CUBEMX生成程序配置错误的原因,结果也不是。 是LPUART不支持DMA接收么? 希望大家能看看,是什么问题。在此谢谢了。 |
STM32H747的串口加DMA
ST60系列可以使用OFDM调制进行发射接收吗?
多路ADC使用DMA模式有没有教程呀,芯片STM32L151
STM32L051K8U6没有供电时,io是不是高阻态?
RTC的问题
STM32H743 SPI从进入DMA完成中断时间疑问
stm32f103rct6上升沿捕捉最小的高电平是多少?
STM32F103的LIN Break问题
RTC唤醒
stm32f103c8t6串口发送大量hex数据失效。
LPUART 和 UART 之间有区别。
LPUART对晶振以及波特率有要求。当用外部低晶振时 不能超时9600波特率,在用外部高晶振时,不能低于38400。而我设置了LPUART 内部晶振16M 但是波特率为9600。导致无法接收数据。之后我修改用外部低晶振,能够正常接收数据。
虽然没人回答,但是如果有人出现这个问题,以上方法可以尝试。
具体参考http://www.elecfans.com/d/648291.html。
从手册上看,L053的LPUART是支持DMA收发的。你确认下LPUART是否正常工作了,比方中断或查询方式是否可以工作。回头我这边也找个L053的板验证下,然后告知结果你。
感谢回复。我已经测试出来了。是晶振配置问题。我之前有回复一个参考文章。当LPUART在CUBEM配置高晶振4M及以上晶振时,波特率设置应在38400及以上。而我配置了9600,导致了接收不了。之后我在CUBEMX里面配置了低晶振32.768K,波特率9600就能成功接收。
学习了!