找回密码
 立即注册
楼主: stc3***

STC32 串口2收发问题请教!

[复制链接]

该用户从未签到

1

主题

9

回帖

51

积分

注册会员

积分
51
 楼主| 发表于 2023-6-27 18:06:34 | 显示全部楼层
zhp 发表于 2023-6-27 18:04
不同的代码,即使编译器的优化级别一样,优化策略也可能不一样
比如在uart2_txbusy = 1;和while (uart2_t ...

不愧是超级版主。
回复 支持 反对 送花

使用道具 举报

该用户从未签到

1

主题

9

回帖

51

积分

注册会员

积分
51
 楼主| 发表于 2023-6-27 18:17:02 | 显示全部楼层
zhp 发表于 2023-6-27 18:04
不同的代码,即使编译器的优化级别一样,优化策略也可能不一样
比如在uart2_txbusy = 1;和while (uart2_t ...

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

使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:09
  • 签到天数: 124 天

    [LV.7]常住居民III

    7

    主题

    77

    回帖

    1045

    积分

    金牌会员

    机长

    积分
    1045
    发表于 2023-6-27 21:32:12 | 显示全部楼层
    1. volatile u8 uart2_txbusy;
    复制代码

    定义时加个volatile试试呢?
    业余撸代码,专业开飞机
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    9

    回帖

    51

    积分

    注册会员

    积分
    51
     楼主| 发表于 2023-7-21 15:32:26 | 显示全部楼层
    hsrzq 发表于 2023-6-27 21:32
    定义时加个volatile试试呢?

    就是这个方法啊。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    11

    主题

    330

    回帖

    876

    积分

    荣誉版主

    积分
    876
    发表于 2023-7-23 13:38:25 来自手机 | 显示全部楼层
    在中断中使用的全局变量都要加上volatile修饰,禁止编译器优化
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    4

    主题

    6

    回帖

    46

    积分

    新手上路

    积分
    46
    发表于 2023-10-18 16:05:33 | 显示全部楼层
    我遇到类似的问题 发送中断进不去  发送标志位不清零直接卡死在 发送里
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 23:22
  • 签到天数: 146 天

    [LV.7]常住居民III

    34

    主题

    325

    回帖

    627

    积分

    高级会员

    积分
    627
    发表于 2023-11-9 15:05:47 | 显示全部楼层
    清问是不是使用串口2就需要把这个位置1?为什么官网的例程没有这个呢?
    截图202311091505245425.jpg
    纸上得到终觉浅,绝知此事要躬行。
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-9 03:44 , Processed in 0.062417 second(s), 53 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表