RTT添加AD驅動代碼

1、在Kconfig文件中添加如下內容

menuconfig BSP_USING_ADC
        bool "Enable ADC"
        default n
        select RT_USING_ADC
        if BSP_USING_ADC
            config BSP_USING_ADC1
                bool "Enable ADC1"
                default n
        endif

2、前往cubeMx中打開AD

 

3、從生成的main.c中複製時鐘初始化代碼到board.c

 

測試代碼:

 

#define ADC_DEV_NAME "adc1" 
#define ADC_DEV_CHANNEL 5 
#define REFER_VOLTAGE 330
*/
#define CONVERT_BITS (1 << 12)
static int adc_vol_sample(int argc, char *argv[])
{
	rt_adc_device_t adc_dev;
	rt_uint32_t value, vol;
	rt_err_t ret = RT_EOK;

	adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME);
	if (adc_dev == RT_NULL) {
	rt_kprintf("adc sample run failed! can't find %s device!\n", ADC_DEV_NAME);
	return RT_ERROR; }

	ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL);

	value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL);
	rt_kprintf("the value is :%d \n", value);

	vol = value * REFER_VOLTAGE / CONVERT_BITS;
	rt_kprintf("the voltage is :%d.%02d \n", vol / 100, vol % 100);

	ret = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL);
	return ret; 
}

MSH_CMD_EXPORT(adc_vol_sample, adc voltage convert sample);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章