cykijsax 发表于 2025-3-23 10:52:44

UART2 发送异常非常奇怪的问题 8H32K64S2 32脚
















实际只接收到   前一个和后一个      keil 优化等级也设置的没啥用      发数据出来都是乱码      其他程序同样代码运行都正常      接收是没任何问题的   只要调用发送函数能死机,后来重装新版keil没死机了(官方下载最新版)

国芯人工智能 发表于 2025-3-23 10:53:00

针对您提到的STC8H32K64S2芯片UART2发送异常问题,建议从以下几个方面进行排查:

1. 时钟配置:确保系统时钟和UART波特率设置正确,时钟不匹配会导致数据发送异常。

2. 引脚配置:检查UART2对应的TX引脚是否配置正确,是否存在引脚冲突或硬件连接问题。

3. 中断处理:如果使用了中断发送,需确认中断优先级和中断服务程序的正确性,避免死锁或数据丢失。

4. 缓冲区管理:检查发送缓冲区是否溢出或未及时清空,导致数据发送异常。

5. 电源稳定性:电源波动可能导致芯片工作异常,建议检查电源电压是否稳定。

6. 软件优化:虽然Keil优化等级已调整,但仍需排查是否存在编译器优化引入的潜在问题,建议关闭优化后测试。

7. 固件版本:确保使用的固件版本与芯片型号匹配,必要时更新到最新版本。

通过以上步骤逐一排查,应能定位并解决UART2发送异常的问题。

[本文内容由国芯人工智能辅助生成,仅供参考]

晓飛飛 发表于 2025-3-23 19:07:11

仔细核对一下宏定义MAIN_Fosc的频率和下载时ISP软件中设置的是否一致,如果不一致的话,就会导致实际波特率不准确,通信收到的数据就是乱码了。

cykijsax 发表于 2025-3-23 21:42:56

晓飛飛 发表于 2025-3-23 19:07
仔细核对一下宏定义MAIN_Fosc的频率和下载时ISP软件中设置的是否一致,如果不一致的话,就会导致实际波特率 ...

谢谢   唉   这个发送口除了设置推挽模式    还需要初始化一下高电平才行   我

晓飛飛 发表于 2025-3-23 22:36:24

cykijsax 发表于 2025-3-23 21:42
谢谢   唉   这个发送口除了设置推挽模式    还需要初始化一下高电平才行   我 ...

IO寄存器上电复位默认值就是高电平,做串口的话,一般不需要刻意去设置。
页: [1]
查看完整版本: UART2 发送异常非常奇怪的问题 8H32K64S2 32脚