最近调试9S08的单片机。使用TPM 产生步进电机控制脉冲的程序。需要产生一个50%方波频率可变。原始的程序是别人写的。配置TPM2C0为 输出比较。在匹配寄存器中写入周期的一半,在取模寄存器中写入整个周期。匹配时对应通道置位。在溢出中断服务程序中将该通道复位。(当然这不是好办法,但我不想大改程序)调试时发现总是不能输出正确的波形。原因是取模寄存器无法写入。读出的值不是0就是65535。
反复尝试发现要改先取模寄存器,需要关闭定时器。即将TPM2SC先赋给0值。更改取模寄存器后再启动。这样才能正确写入。好象手册上并没有讲这点。
文章评论(0条评论)
登录后参与讨论