找回密码
 立即注册
楼主: test_tmp

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

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-02 07:55:51
已绑定手机

46

主题

1694

回帖

2544

积分

金牌会员

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

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

点评

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-02 07:55:51
已绑定手机

46

主题

1694

回帖

2544

积分

金牌会员

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

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

点评

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 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

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:514
  • 最近打卡:2025-05-02 10:18:47

24

主题

515

回帖

990

积分

荣誉版主

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:116
  • 最近打卡:2025-03-09 18:14:54

3

主题

88

回帖

642

积分

荣誉版主

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

使用道具 举报 送花

2

主题

13

回帖

60

积分

注册会员

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 15:49 , Processed in 0.133180 second(s), 106 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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