HCS12 上的定时器输出比较中断有问题。问题似乎是我正在将计算值写入输出比较寄存器而不是立即数,即......
OCval = x + y ; ldd OC1, OCval ; // 我需要做什么
ldd OC1, #3000 ; // 什么工作
使用计算值,定时器中断是不稳定的,这在我的应用程序中是不可接受的。该问题已被牢牢地归结为在单个周期内访问定时器和 OC 寄存器的记录要求,除了立即写入之外的任何操作都违反了这一点。我还注意到网络上的所有示例代码都使用即时操作。
只是想知道是否有软件解决方法。我需要让计数器自由运行(即没有重置),因为还有其他输出与必须保持运行的立即写入进行比较。只需要计算我的两个中断。
软件修复会很好,因为我能看到的唯一其他选项涉及额外的硬件来处理动态时序,很混乱。TIA