stc32电子 发表于 2023-6-27 18:06:34

zhp 发表于 2023-6-27 18:04
不同的代码,即使编译器的优化级别一样,优化策略也可能不一样
比如在uart2_txbusy = 1;和while (uart2_t ...

不愧是超级版主。{:handshake:}

stc32电子 发表于 2023-6-27 18:17:02

zhp 发表于 2023-6-27 18:04
不同的代码,即使编译器的优化级别一样,优化策略也可能不一样
比如在uart2_txbusy = 1;和while (uart2_t ...

那我以后遇到这样的问题,如何排查呢,我也没有想到是VOLATILE的问题啊。如何去分析呢,请指教一下。

hsrzq 发表于 2023-6-27 21:32:12

volatile u8 uart2_txbusy;
定义时加个volatile试试呢?

stc32电子 发表于 2023-7-21 15:32:26

hsrzq 发表于 2023-6-27 21:32
定义时加个volatile试试呢?

就是这个方法啊。

熊仔 发表于 2023-7-23 13:38:25

在中断中使用的全局变量都要加上volatile修饰,禁止编译器优化

woshiguowe 发表于 2023-10-18 16:05:33

我遇到类似的问题 发送中断进不去发送标志位不清零直接卡死在 发送里

飞捷 发表于 2023-11-9 15:05:47

清问是不是使用串口2就需要把这个位置1?为什么官网的例程没有这个呢?
页: 1 [2]
查看完整版本: STC32 串口2收发问题请教!