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

提交一个USB和timer3共存的bug | 数据手册中有注意事项

[复制链接]
  • TA的每日心情
    慵懒
    17 小时前
  • 签到天数: 153 天

    [LV.7]常住居民III

    25

    主题

    708

    回帖

    1759

    积分

    金牌会员

    积分
    1759
    发表于 2024-3-26 22:36:18 | 显示全部楼层
    DebugLab 发表于 2024-3-26 22:12
    操作IE2后再EUSB=1,EUSB也会被清零一下,可能会导致未知的错误,应该
    unsigned char a;
    a=IE2;//先读出

    stc32的这些寄存器可以位寻址,可以直接用位变量操作,这样就不影响其它位了

    点评

    对对对  发表于 2024-3-28 12:09
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    17 小时前
  • 签到天数: 153 天

    [LV.7]常住居民III

    25

    主题

    708

    回帖

    1759

    积分

    金牌会员

    积分
    1759
    发表于 2024-3-26 22:38:13 | 显示全部楼层
    test_tmp 发表于 2024-3-26 21:57
    研究了一下,确实是EUSB的问题,新版手册里面,提到这个问题了,只要操作了IE2,就需要重新置EUSB=1 ...

    你可以试试相应位直接置1,这样不影响其它位
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    23 小时前
  • 签到天数: 82 天

    [LV.6]常住居民II

    13

    主题

    321

    回帖

    720

    积分

    荣誉版主

    热心市民

    积分
    720
    发表于 2024-3-26 23:14:23 | 显示全部楼层
    还没注意到这个问题,学习了,寄存器不可读估计是个bug,后期应该能修复吧

    点评

    看着手册上说明了这个寄存器不可读的话 那就不是bug了,,顶多算自己用法不对  发表于 2024-3-27 09:14
    睁开眼睛做场梦~~~
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    15 小时前
  • 签到天数: 127 天

    [LV.7]常住居民III

    26

    主题

    1281

    回帖

    3985

    积分

    论坛元老

    积分
    3985
    发表于 2024-3-27 09:27:08 | 显示全部楼层
    开天斧/屠龙刀例程包初始化代码里面基本上都有这么一条指令:
    1.     IE2 |= 0x80;   //IE2相关的中断位操作使能后,需要重新设置EUSB
    复制代码
    1.     EUSB = 1;   //IE2相关的中断位操作使能后,需要重新设置EUSB
    复制代码
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    23 小时前
  • 签到天数: 82 天

    [LV.6]常住居民II

    13

    主题

    321

    回帖

    720

    积分

    荣誉版主

    热心市民

    积分
    720
    发表于 2024-3-27 09:29:40 | 显示全部楼层
    本帖最后由 晓飛飛 于 2024-3-27 09:34 编辑
    乘风飞扬 发表于 2024-3-27 09:27
    开天斧/屠龙刀例程包初始化代码里面基本上都有这么一条指令:

    STC8HxxU的手册里面描述的是“IE2相关的中断位操作使能后,需要重新设置EUSB”
    STC32G/F的手册里面附录N.1有特别描述,说IE2的bit7(EUSB)位为只写寄存器,不可读取。
    在手册正篇关于寄存器的介绍里面没有详细描述,只有红字提示,我猜测这只是个暂时性的bug,估计后期会更新处理。
    11.png

    睁开眼睛做场梦~~~
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 154 天

    [LV.7]常住居民III

    17

    主题

    370

    回帖

    1289

    积分

    荣誉版主

    积分
    1289
    发表于 2024-3-27 10:31:09 | 显示全部楼层
    能有解决方案就不是BUG。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    4 天前
  • 签到天数: 78 天

    [LV.6]常住居民II

    3

    主题

    58

    回帖

    510

    积分

    荣誉版主

    积分
    510
    发表于 2024-3-29 16:47:55 | 显示全部楼层
    应该定义一个 变量 当作IE2寄存器的影子寄存器(虚拟的),IE2当作只写寄存器,程序尽量不要去执行“读”操作,每次写影子寄存器(变量),顺带更新写一次IE2, 读取的话读取影子寄存器(变量)就可以完美解决这个问题
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    12

    回帖

    43

    积分

    新手上路

    积分
    43
     楼主| 发表于 2024-4-2 17:33:54 | 显示全部楼层
    谢谢大家的建议,学习了
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-4-29 23:55 , Processed in 0.085409 second(s), 62 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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