ARM32嵌入式:在轮询模式下使用定时器

时间:2016-12-10 07:41:51

标签: timer arm polling

使用恩智浦LPC1768 32位ARM。尝试在轮询模式下使用计时器,即。没有中断。芯片文档不清楚匹配标志的位置,它只提到'中断匹配标志'。到目前为止,我的测试是假设中断标志也用于轮询操作,但是我的测试程序不工作,似乎没有发生重置中断标志(通过根据数据表将位写入1位)正如它应该。 OTOH,可能有其他原因导致事情无效。关于国旗的不确定性使得诊断工作变得更加艰难。

有人可以建议是否以及哪里有可以在轮询模式下使用的匹配标志,以及如何清除它?感谢

1 个答案:

答案 0 :(得分:0)

以这种方式使用中断标志应该没有任何问题 - 你应该确保实际启用匹配中断功能(根据LPC176x手册,这似乎意味着将TxMCR中的MRxI设置为适当的)因为可能无法保证它会按预期工作。之后唯一的区别是,它不是在NVIC上启用IRQ,而是在处理程序触发时从处理程序读取TxIR,而是将IRQ屏蔽并从轮询循环中读取TxIR;它不像外设可以区分它们。

或者,看起来外部匹配寄存器也可以正确配置,以准确地执行您想要的操作。该手册甚至可以指出:

  

请注意,匹配条件可以在内部使用,而无需使用器件引脚。

那就是说,你正在轮询计时器 - 为什么还要设置硬件匹配条件并轮询其他寄存器,直接轮询计数器值?这是它完成的典型方式。

相关问题