最近一个项目使用NRF51822,有多路AD采样驱动代码是什么如下:
(1)首先需要初始化ADC,调鼡 adc_init配置好AD的采样通道,注意NRF51822不是所有的IO都是AD采样通道只要指定的AIN的通道才能配置为AD采样通道。
(2)这里配置了12长度的AD采样缓冲区用於存放多通道采样的数据,开了一个定时器触发采样。
(3)AD采样后的数据处理:数据的次序与配置时的通道先后有关如三个通道,数據依次为ch1 ch2 ch3 ch1 ch2 ch3...因此配置缓冲区时,只是为了多次采样求均值是所有通道的整数倍。
(4)adc_event_handler 是AD采样的回调函数当所有的通道都采样到指定的長度后,这里为每个通道4次(3*4=12)进入这个函数,可以设置一个标志位用于AD采样后的数据的处理。