CubeMX 生成的 STM32H7 CMake 工程打开串口 DMA 无法正常发送数据,如何解决?
stm32cubeMx生成stm32H743IIT6 cmake工程时全局变量自动定义到DTCM段
STM32G431 用MCSDK5.4.8 进行PMSM永磁同步电机FOC控制,转速上升到某一值(3500rpm)无法继续上升,上不去
Discover Endless Word Challenges With Wordle Unlimited Every Day
SDIO读取TF卡,1bit模式正常,4bit模式无法读取
Cubemx的外部低速时钟已激活但时钟树中HSI无法选择
在stm32cubeAI上,打开Lanuch NeuralNet Studio提示打不开
STM32L496ZG 通过串口驱动 SIM7022 NB-IoT 模组无法注册网络
STM32CUBEMX生成代码格式问题
MX创建的SMT32工程在IDE中build会报错
微信公众号
手机版
2. 分给串口外设的时钟至少是波特率的16倍以上最佳。
可以测量一下发送信号是否有偏差。
发送采用查询方式,接收采样中断方式,测试了UART1/UART3/UART4/UART5波特率设置为1382400,都没有任何问题。
可以肯定,对于片内UART,实现460800的波特率是没有压力的。注意波特率较高时,系统时钟源建议选用外部HSE。
至于接收处理代码方面,波特率较高时要接收处理要快捷点,可能的话采用DMA接收。如果中断接收的话,除了接收处理程序
本身尽量精简外,还要注意接收中断优先级设置高点。
就是说要尽量把那个外部晶振焊上吗?我目前使用的是那个开发板上的ST-LINK的8MHZ的晶振和内部时钟源控制,没有用串口中断,仅用单片机向电脑发送字符串,现在波特率到460800电脑端就不能收到数据了
我设置了DMA,用DMA的方式进行字符串的发送,依旧是串口波特率高了之后电脑收不到数据
只是发送都不行,会不会是你PC端的串口助手有问题啊。我这边实现起来很轻松。还有,你使用外部时钟源是必要的。Nucleo板是从STLINK那边引的8MHz过来的,可以用。时钟设置为Bypass Clock Source.
用的正点原子的那个串口助手,上边的波特率最高可以设置3M,晶振目前使用的是那个8M的外部晶振