3、ADC 设备使用示例 4、常见问题 4.1 Q: menuconfig 找不到 ADC 设备的配置选项? 【第9章 ADC设备 视频汇总】 千锋教育RT-Thread实时操作系统教程 第9章,字数5154,文末有3节视频课程。 课程介绍: 千锋教育推出的RT-Thread精品课程包含系统移植、内核介绍、线程管理、时钟管理、线程同步、设备使用等RT-Thread...
int count = 1; adc1_dev = (rt_adc_device_t)rt_device_find("adc1"); if (adc1_dev == RT_NULL) { rt_kprintf("adc sample run failed! can't find adc1 device!\n"); return RT_ERROR; } rt_adc_enable(adc1_dev, 2); while (count++) { int value = rt_adc_read(adc1_dev, ...
#define ADC_REF_NAME "adc1" /ADC 内部参考电压设备名称/ #define ADC_REF_CHANNEL 17 #define ADC_DEV_NAME "adc3" /ADC 设备名称/ #define ADC_DEV_CHANNEL 8 /ADC 通道/ static int adc_vol_sample(int argc, charargv[]) { rt_adc_device_t adc_ref; rt_adc_device_t adc_dev; rt_uint32...
但是这里需要额外说明的是,使用此函数查找 ADC 设备需要强制转换一下,我们定义用来接收的设备句柄不是使用rt_device_t,而应该使用rt_adc_device_t: 2.2 使能/关闭 ADC 通道 根据自己使用的 GPIO 引脚(对应上文 ADC 通道表格),对 ADC 通道进行使能和关闭。 使能ADC 通道: /* 参数 描述 dev ADC 设备句柄 chan...
可以了解到drv_adc.c在HAL_Drivers目录下是存在的,只是它没有添加到整个RT-Thread工程里边来,只要开启BSP_USING_ADC宏即可;于是乎,编写Kconfig开启ADC支持,RT_USING_ADC是RT-Thread支持ADC的宏开关,代码如下: config BSP_USING_ADC bool "Enable ADC"
应用程序根据 ADC 设备名称获取设备句柄,进而可以操作 ADC 设备,查找设备函数如下所示: 1rt_device_t rt_device_find(const char* name); 1. 一般情况下,注册到系统的 ADC 设备名称为 adc0,adc1等,使用示例如下所示: 1#define ADC_DEV_NAME "adc1" /* ADC 设备名称 */ ...
应用程序通过 RT-Thread 提供的 ADC 设备管理接口来访问 ADC 硬件,相关接口如下所示: 下面对驱动源码主要实现方式做简要分析: 在drv_adc.c中,缺少对 RT_USING_DEVICE_OPS 项的支持,增加如下代码 #ifdef RT_USING_DEVICE_OPS //增加对RT_USING_DEVICE_OPS的支持conststaticstructrt_device_ops adc_ops ={ ...
rt_adc_device_tadc_dev; rt_uint32_tvalue,vol; rt_err_tret=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); ...
配置ADC通道 然后打开对应的ADC通道 5 ADC代码实现 笔者这里使用ADC0的通道2,核心代码如下: #defineADC_DEV_NAME"adc0"/* ADC 设备名称 */#defineADC_DEV_CHANNEL 2/* ADC 通道 */#defineREFER_VOLTAGE 330/* 参考电压 3.3V,数据精度乘以100保留2位小数*/#defineCONVERT_BITS (1 << 12)/* 转换位数为...
使能ADC 通道: /* 参数 描述 dev ADC 设备句柄 channel ADC 通道 返回—— RT_EOK 成功 -RT_ENOSYS 失败,设备操作方法为空 其他错误码 失败 */rt_err_trt_adc_enable(rt_adc_device_tdev,rt_uint32_tchannel) 关闭ADC 通道: /* 参数 描述