nrf52832sdk15的SAADC

本文详细介绍如何在nRF52832上使用SAADC进行ADC采样,包括初始化配置、采样过程及回调函数处理。通过实例代码展示了ADC通道配置、增益设置及采样值获取等关键步骤。

由于有使用52832的需求,所以19年8月下载了一份最新的SDK,版本为SDK15.3.0,得创建一个新的工程然后移植原来的应用代码到这个新的SDK下,IO什么的跟原来SDK12没啥区别,但是我在demo里没找到ADC的demo,反倒是找到一个叫SAADC的(手册里SA是Successive approximation),由于时间关系先看了一下demo然后网上在搜索看了别人写的,跑了一下这个demo然后开始着手移植.初始化函数大概长这样:

void saadc_init(void)
{	
	ret_code_t err_code;
	m_channel_used = 0;
	
    nrf_saadc_channel_config_t channel_config[ADC_CHANNEL_USED];
    	
	nrf_saadc_channel_config_t channel_default_config =
		NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN0);	
	//这里整一个默认配置的adc配置 设置的输入是0 对于p02 具体哪些io对应哪些adc通道可以看手册
    
    for(i = 0 ;i < ADC_CHANNEL_USED; i++)
    {
            /*do something*/
			channel_config[i] 			 = channel_default_config;
			channel_config[i].pin_p      = (nrf_saadc_input_t)adc_ain;
            // 设置对应的第几个输入
			channel_config[i].gain		 = NRF_SAADC_GAIN1_6;
            //增益1*6 默认设置参考电压为内部0.6v 所以这里ADC的采集范围最大为3.6V
			err_code = nrf_drv_saadc_channel_init(adc_channel, &channel_config[i]);
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值