有可能是由于时钟配置不正确导致的问题。在DEBUG模式下,通常会打开调试接口的时钟。但在正常运行模式下,需要手动配置时钟使能。
可以尝试以下解决方案:
1. 确保在代码中正确配置UART3的时钟源和分频器。具体配置方法请参考芯片数据手册和HAL库文档。
2. 检查其他相关的时钟配置,例如系统时钟和GPIO时钟是否正确配置。
3. 确保使用正确的波特率、数据位、停止位和校验位配置串口模块。
4. 检查是否存在冲突的中断,特别是与串口相关的中断。
5. 在上电后手动复位时可以正常接收,可能是因为复位后重新配置了时钟,导致串口能正常工作。可以尝试在代码中添加软件复位或芯片复位。
有可能是由于时钟配置不正确导致的问题。在DEBUG模式下,通常会打开调试接口的时钟。但在正常运行模式下,需要手动配置时钟使能。
可以尝试以下解决方案:
1. 确保在代码中正确配置UART3的时钟源和分频器。具体配置方法请参考芯片数据手册和HAL库文档。
2. 检查其他相关的时钟配置,例如系统时钟和GPIO时钟是否正确配置。
3. 确保使用正确的波特率、数据位、停止位和校验位配置串口模块。
4. 检查是否存在冲突的中断,特别是与串口相关的中断。
5. 在上电后手动复位时可以正常接收,可能是因为复位后重新配置了时钟,导致串口能正常工作。可以尝试在代码中添加软件复位或芯片复位。
举报