[PIC®/AVR®/dsPIC®产品] 对1822的Timer0的两个疑问?

[复制链接]
 楼主| dgdz2c 发表于 2013-7-20 22:27 | 显示全部楼层 |阅读模式
1822的规格书P176页有这样的一段话:
Timer0 模块有8 个预分频比选项,范围从1:2 至1:256。预分频值可通过 OPTION 寄存器的 PS<2:0> 位进行选择。为了让 Timer0 模块使用 1:1 预分频值,必须通过将OPTION 寄存器的 PSA 位置 1 来禁止预分频器。预分频器是不可读写的。写 TMR0 寄存器的所有指令都会清零预分频器。
这里有两个疑问:
1)“预分频器是不可读写的”
在P177页描述分频比的寄存器时,PS<2:0>都是R/W的。
用软件仿真,也的确可以读出分频比的值。
2)“如果对TMR0进行操作了,那分频比就会被清。”
用软件操作如下代码:
TMR0 = 0;
OPTION_REG = 3;
TMR0 = 3; 如果按照规格书的意思,这句执行完后,OPTION_REG应该为0,但用软件仿真OPTION_REG值并没有变。



 楼主| dgdz2c 发表于 2013-7-20 22:28 | 显示全部楼层
 楼主| dgdz2c 发表于 2013-7-20 22:28 | 显示全部楼层
为什么一发就“结贴”?
XIEYUANBIN 发表于 2013-7-21 19:18 | 显示全部楼层
预分频器的设置和预分频器的计数是两码事,你写OPTION_REG只是设置,另外有个计数器用来实现你的分频。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

61

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

5

主题

61

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部