找回密码
 立即注册
查看: 928|回复: 10

注意:STC32G头文件和STC32G手册寄存器名称有些不一样的(汇总贴),使用手册时请留意

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:390
  • 最近打卡:2025-05-01 11:13:39

45

主题

381

回帖

1571

积分

金牌会员

静坐常思己过,闲谈莫论人非

积分
1571
发表于 2024-1-5 09:48:49 | 显示全部楼层 |阅读模式
本帖最后由 rengran 于 2024-1-5 10:27 编辑
STC32G手册中和STC32G头文件中寄存器名称有些不一样的地方,在此列举一下,方便参考官方手册写程序的朋友留意一下,避免编译时报错。

  • 前几天单独发了一个帖子关于定时器相关寄存器TMOD、TUXR、T4T3M中的定时和计数选择位的T0_C/T,T1_C/T,T2_C/T,T3_C/T,T4_C/T在头文件中分别为T0_CT,T1_CT,T2_CT,T3_CT,T4_C/T,在此不再列举,具体参考这个帖子的链接:https://www.stcaimcu.com/forum.php?mod=viewthread&tid=5958
  • 定时器计数寄存器中的TnH,TnL
       (1):手册中的T2,T3,T4的计数寄存器名称以及定时器T3T4控制寄存器分别为T2H、T2L,T3H、T3L,T4H、T4L及T4T3M。头文件中的名称如下图一所示
                      Snipaste_2024-01-05_09-53-07.png

            图1

       从上图可知,在头文件中T2,T3,T4定时器的计数寄存器及定时器T3T4控制寄存器的地址分别定义了两种名称,即:T2H、T2L,T3H、T3L,T4H、T4L、T4T3M和TH2、TL2,TH3、TL3,TH4、TL4、T3T4M。这就说明,两种名称都可以使用,参照手册中的名称写程序是没有问题的。但是对于定时器T0和T1却不一样,因为这两个只有一种计数寄存器名称:TH0、TL0,TH1、TL1。

       当你使用T2H、T2L,T3H、T3L,T4H、T4L的时候,千万不要想当然的以为对于定时器0和定时器的计数寄存器是T0H、T0L,T1H、T1L。命名规则的不统一性在写程序编译时有时候会产生未定义的错误,此时应该对照一下手册和头文件的定义是否一致。如果只有几处还好,如果好多处都不一致,可能在参考手册和写程序时你得要每处都要对照,不知道这种情况你会不会感觉头大?
       不过参照之前有的网友建议,手册只是用来参考,头文件可以自己定义,不一致自己可以改头文件,你也可以参照T2T3T4的头文件方法,自己再增加定义T0T1的寄存器名称T0H、T0L,T1H、T1L。这里有一个缺点就是一旦官方更新头文件之后,你得从新自己再添加一次。采取哪种方式,各位可以自行决定。


处事要代人所想,读书需切己用功
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:390
  • 最近打卡:2025-05-01 11:13:39

45

主题

381

回帖

1571

积分

金牌会员

静坐常思己过,闲谈莫论人非

积分
1571
发表于 2024-1-6 11:07:25 | 显示全部楼层
3、定时器的运行控制位(不是手册和头文件名称不一样,而是5个定时器之间命名规则有些不同,使用时别想当然,严谨参考手册或者头文件)

     定时器T0和T1的运行控制位的名称分别为:TR0、TR1
     定时器T2、T3、T4的运行控制位的名称分别为:T2R、T3R、T4R,不要不看手册或者头文件,想当然的按照T0和T1的规律写成TR2、TR3、TR4。



处事要代人所想,读书需切己用功
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:390
  • 最近打卡:2025-05-01 11:13:39

45

主题

381

回帖

1571

积分

金牌会员

静坐常思己过,闲谈莫论人非

积分
1571
发表于 2024-1-8 10:11:45 | 显示全部楼层

定时器的中断溢出标志和外部中断请求标志

本帖最后由 rengran 于 2024-1-8 10:53 编辑
4、定时器的中断溢出标志
    定时器T0、T1的中断溢出标志分别为:TF0、TF1。
    定时器T2、T3、T4的中断溢出标志分别为:T2IF、T3IF、T4IF。不要以为是按照T0和T1的命名规律进行命名的而误以为是TF2、TF3、TF4,一定要看手册或者头文件!!!
5、外部中断请求标志
    外部中断0、外部中断1中断请求标志分别为:IE0、IE1。
    外部中断2、外部中断3、外部中断4中断请求标志分别为:INT2IF、INT3IF、INT4IF。不要以为是按照外部中断0和外部中断1的命名规律进行命名的而误以为是IE2、IE3、IE4,一定要看手册或者头文件!!!
处事要代人所想,读书需切己用功
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:33
  • 最近打卡:2025-04-28 10:23:12

11

主题

93

回帖

469

积分

中级会员

积分
469
发表于 2024-11-29 16:48:04 | 显示全部楼层
T2R在寄存器AUXR里,有办法直接使用吗,像T2R=0;这样
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:390
  • 最近打卡:2025-05-01 11:13:39

45

主题

381

回帖

1571

积分

金牌会员

静坐常思己过,闲谈莫论人非

积分
1571
发表于 2024-12-2 19:38:54 | 显示全部楼层
wsz*** 发表于 2024-11-29 16:48
T2R在寄存器AUXR里,有办法直接使用吗,像T2R=0;这样

当然可以了,AUXR里的每个位都可以位寻址的,所以可以直接使用
处事要代人所想,读书需切己用功
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:123
  • 最近打卡:2025-04-19 16:12:35
已绑定手机

60

主题

777

回帖

4001

积分

论坛元老

自定义头衔

积分
4001
发表于 2024-12-2 19:58:57 | 显示全部楼层
STC32G手册中和STC32G头文件中寄存器名称有些不一样的地方

我以为应该让官方完善为佳吧

而不是让用户处处关注和规避
联系我请点击左下角的【回复】按钮,否则我收不到消息提
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:390
  • 最近打卡:2025-05-01 11:13:39

45

主题

381

回帖

1571

积分

金牌会员

静坐常思己过,闲谈莫论人非

积分
1571
发表于 2024-12-3 18:54:42 | 显示全部楼层
VC*** 发表于 2024-12-2 19:58
我以为应该让官方完善为佳吧

而不是让用户处处关注和规避

之前也讨论过这个问题,改哪个为好,因为已经形成固定的模式等等原因,最后也没得出来个123,保留这样式让使用者在使用时注意就得了
处事要代人所想,读书需切己用功
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:33
  • 最近打卡:2025-04-28 10:23:12

11

主题

93

回帖

469

积分

中级会员

积分
469
发表于 2024-12-4 13:51:29 | 显示全部楼层
reng*** 发表于 2024-12-2 19:38
当然可以了,AUXR里的每个位都可以位寻址的,所以可以直接使用

我好像定义不了AUXR里的这个T2R地址,有例程可以学习一下吗
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-29 08:28:25
已绑定手机

17

主题

446

回帖

1173

积分

金牌会员

积分
1173
发表于 2024-12-4 15:27:28 | 显示全部楼层
再定义一个名,方便又实用
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:390
  • 最近打卡:2025-05-01 11:13:39

45

主题

381

回帖

1571

积分

金牌会员

静坐常思己过,闲谈莫论人非

积分
1571
发表于 2024-12-5 18:29:33 | 显示全部楼层
bkeu*** 发表于 2024-12-4 15:27
再定义一个名,方便又实用

对,自己再define一个也是一个解决办法
处事要代人所想,读书需切己用功
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 02:19 , Processed in 0.124038 second(s), 107 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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