Tos*_*iro 2 microcontroller interrupt fifo
假设您有一个具有 32 深度 FIFO 的设备,其中在转换完成后存储来自 ADC 的数据。每次 FIFO 中有 X 个样本时,您都可以触发中断并从中获取数据。
当中断触发时,设备上的中断寄存器中的一个位被设置并且中断线被断言。
所以我的问题是:轮询中断寄存器以获取数据与使用中断线的功能有什么不同吗?是否有任何时间问题或我应该注意的任何问题?
您所说的“功能上”是什么意思并不是很清楚。
轮询中断寄存器的优势在于,您可以确保仅在您的代码处于处理数据的完美状态时才从 ADC 获取数据。这可以显着简化代码设计。被中断的好处是,当没有数据准备好时,您不会浪费时间检查寄存器,而且您不太可能忙于做其他事情而让 FIFO 溢出。
这两种方法都有意义。
通常,您会使用中断处理程序将结果复制到更大的软件 FIFO 并轮询软件 FIFO。这可确保在您的高级代码忙碌的时间超过填充 FIFO 所需的时间时,数据不会丢失。但是,如果您的代码足够简单以至于这不是问题,那么这种额外的复杂性不会给您带来太多好处。
归档时间: |
|
查看次数: |
15914 次 |
最近记录: |