使用中断方式还查询方式?

本文翻译自MMA8452Q(一个加速度传感器)的application note AN4067 -----Data Manipulation and Basic Settings of the 

MMA8451, 2, 3Q section 9.0

 

9.0 Polling Data vs. Interrupts


每当有新数据时,可以通过轮询方式,对MCU设置硬件中断方式,及异常等方式来获得。尽管轮询方式低效,但是在不同的情况 下,一种方式会比其它方式更合你心意。

 

9.1 Polling Data

 

轮询方式只需对设备进行少量配置,易于实现。但是,MCU必须以比输出数据速率更快的速率来查询传感器。如果查询速率慢了,样例数据就会被错过,可以通过查询STATUS寄存器的重写标志位来检测这一条件。

 

9.2 Interrupt Routine to Access Data

 通过中断方式获得数据流比轮询方式更有效——因为只当加速度传感器有新数据时MCU才会处理。当有新的数据时,这数据是只读的。如果没有及时读新数据,STATUS中相应的重写标志位会被置1. 下面讲解怎样配置设备,以使当有新数据时产生一个中断。下面是MCU的中断服务例程(Interrupt Service Routine ISR),当有新数据时,执行这个例程,这个例程读出14bit,12bit 或者10 bit的XYZ数据,并设一个软件标志,以表明有新数据到达。

你可能感兴趣的:(service,application,basic,Access)