硬件|nRF51822 ADC PWM

网上nRF51822的资料太少了,这么两天看了一点关于nRF51822的adc,pwm,希望对新手有点作用吧,高手勿喷,我也是个初学者:
硬件|nRF51822 ADC PWM
文章图片

nRF51822 ADC引脚分布:
硬件|nRF51822 ADC PWM
文章图片

当然P0.26和P0.27也可以做ADC引脚!~~~
把官方给的nrf_adc.c加入工程,然后直接在main函数中调用就行了:

nrf_adc_init(ADC_RES_8bit, ADC_INPUT_AIN7_P06, ADC_INT_DISABLED); adc_data = https://www.it610.com/article/nrf_adc_read(); printf("adc data1:%d\r\n ",adc_data);


第一个参数是精度,第一个参数是引脚号,第三个关于中断的
第二个参数对应的引脚号:

typedef enum { ADC_INPUT_AIN0_P26 = 0, ADC_INPUT_AIN1_P27 = 1, ADC_INPUT_AIN2_P01 = 2, ADC_INPUT_AIN3_P02 = 3, ADC_INPUT_AIN4_P03 = 4, ADC_INPUT_AIN5_P04 = 5, ADC_INPUT_AIN6_P05 = 6, ADC_INPUT_AIN7_P06 = 7 } ADC_input_selection_t;


多通道采集,直接在主程序中直接切换就行了。


关于PWM,也是一样直接将官方给的nrf_pwm.c加入到工程中:
nRF51822任何一个引脚都可以用作pwm,只需要在主函数中这样配置

pwm_config.gpio_num[0]= 15; //输出pwm的引脚号


设置输出:
【硬件|nRF51822 ADC PWM】
nrf_pwm_set_value(0, 100);

当然这种方式只能配置3路PWM


代码链接:
http://download.csdn.net/detail/zhaokanghui/8183385

    推荐阅读