you 发表于 2024-3-5 19:07:31

定时器的辅助寄存器问题?


为什么AUXR和TMOD要做或和与运算?能不能直接赋值?AUXR的默认值是多少呢?感谢解答!

21cnsound 发表于 2024-3-5 20:22:53

为什么AUXR和TMOD要做或和与运算?-----某位或1会改为1,其他位或0不会改变;某位与0会改为0,其他位与1不会改变。
能不能直接赋值?-------可以直接赋值,但一般对某寄存器赋值是某个位或某些位,而其他位是其他功能不应该在此处改变。
AUXR的默认值是多少呢?-------查官方技术手册。

王昱顺 发表于 2024-3-5 22:57:17

因为这两个寄存器含有多个功能。所以直接操作的时候会把其他的功能关掉/打开
最常见的例子就是auxr设置了串口以后给定时器的速度也切换了导致计时不准确。
或操作是指定位设置1,与操作是指定位设置0

gentleman 发表于 2024-3-6 08:22:25

不影响 其他外设

只改变 定时器的位

you 发表于 2024-3-6 21:01:06

21cnsound 发表于 2024-3-5 20:22
为什么AUXR和TMOD要做或和与运算?-----某位或1会改为1,其他位或0不会改变;某位与0会改为0,其他位与1不 ...

感谢!got it!

you 发表于 2024-3-6 21:01:24

王昱顺 发表于 2024-3-5 22:57
因为这两个寄存器含有多个功能。所以直接操作的时候会把其他的功能关掉/打开
最常见的例子就是auxr设置了串 ...

理解了!谢谢!
页: [1]
查看完整版本: 定时器的辅助寄存器问题?