nRF51822 ADC PWM

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

           nRF51822 ADC PWM_第1张图片

nRF51822 ADC引脚分布:

nRF51822 ADC PWM_第2张图片

当然P0.26和P0.27也可以做ADC引脚!~~~

把官方给的nrf_adc.c加入工程,然后直接在main函数中调用就行了:

		nrf_adc_init(ADC_RES_8bit, ADC_INPUT_AIN7_P06, ADC_INT_DISABLED);
		adc_data = 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的引脚号

  设置输出:

nrf_pwm_set_value(0, 100); 
当然这种方式只能配置3路PWM


代码链接:

http://download.csdn.net/detail/zhaokanghui/8183385

你可能感兴趣的:(硬件,nRF51822,adc,pwm)