rengran 发表于 2023-12-29 20:12:02

错误:头文件和手册中定时器相关寄存器的位的名称不一致

STC-ISP软件中的STC32G头文件和STC32G手册中的有关寄存器位名称不一致,所以当使用位操作时应该注意,希望STC公司能进行更改,保证一致性。



   图1:STC32G头文件中的T0T1                     图2:STC32G手册中的T0T1                         图3:STC32G头文件中的T2                      图4:STC32G手册中的T2



图5:STC32G头文件中的T3T4                     图6:STC32G手册中的T3T4

_奶咖君_ 发表于 2023-12-30 16:04:02

这个一个符号也这么纠结么?还有一个问题,,你C语言的变量里能加 / 么?
手册里表示/或的意思,,说这个定时器或用作计数器,或用作定时器,,,应该是Counter/Timer的缩写吧.

我觉得问题不大.

rengran 发表于 2023-12-30 16:34:34

_奶咖君_ 发表于 2023-12-30 16:04
这个一个符号也这么纠结么?还有一个问题,,你C语言的变量里能加 / 么?
手册里表示/或的意思,,说这个定时器 ...

问题倒是没啥大问题,只是容易误解,我当时就是因为按照手册不成功才去看的头文件中的定义。按照这个理解,其实手册里怎么写都无所谓,反正出问题了去看头文件就得了{:4_167:}

_奶咖君_ 发表于 2023-12-30 17:29:32

怎么说呢,,在手册上用了什么符号都是可以的。但是要原模原样搬到程序上,不太可能。应该是这个原因。所以头文件里都是尽量和手册中是一样的。
所以理解上问题不大。总不会有人手册也不看,摁着参考程序就改的吧。

myliuyu 发表于 2023-12-30 17:59:33

/应该不成用的吧,这也么办法

rengran 发表于 2023-12-30 18:11:09

myliuyu 发表于 2023-12-30 17:59
/应该不成用的吧,这也么办法

其实在手册里,按照手册其他地方的寄存器名称来看,写的就应该是头文件里的名称,不能让使用者去试再去看头文件更改,那样手册就不能起到方便的作用了。有错误再说难免,毕竟这么庞大个手册,所以说更新下手册就可以了

_奶咖君_ 发表于 2023-12-30 18:41:03

这个是我不赞成的。手册中就应该是已易于理解的方式来命名,显然这个命名方式是没有问题的。如果手册中写成CT会造成误解的。而代码中是有你自己的理解存在的,你乐意你可以把代码改成CounterORTimer 都是可以的

_奶咖君_ 发表于 2023-12-30 18:43:32

第二我的观点是,无论头文件也好,参考例程也好,只是参考手册的解释。手册不应该为参考程序去服务。你可以说要改程序,但不能说要改手册

rengran 发表于 2023-12-30 18:51:11

_奶咖君_ 发表于 2023-12-30 18:41
这个是我不赞成的。手册中就应该是已易于理解的方式来命名,显然这个命名方式是没有问题的。如果手册中写成 ...

你是没理解我说的啥意思,请不要把我说的名称的事和寄存器名称的事混为一谈好吧。头文件定义啥就应该写啥,程序里的寄存器的名称你想改就能该?那除非你把官方给的头文件里寄存器的名称改成你自己的命名寄存器名称,谁也挡不住你这样做{:4_168:}

rengran 发表于 2023-12-30 18:54:55

_奶咖君_ 发表于 2023-12-30 18:43
第二我的观点是,无论头文件也好,参考例程也好,只是参考手册的解释。手册不应该为参考程序去服务。你可以 ...

按你这么说,参考手册确实只是参考作用了,里面的寄存器的名称完全和头文件里定义的寄存器的名称不一样都行,毕竟只是参考嘛,具体怎么用,看完参考手册,回过头再一个个的和头文件里去对照看看一样不,一样就用,不一样就按照头文件里那样去写,不嫌麻烦倒是可以这么做
页: [1] 2
查看完整版本: 错误:头文件和手册中定时器相关寄存器的位的名称不一致