配置步骤

  1. 配置KConfig文件
  2. 打开menuconfig选中ADC外设
  3. 保存配置生成mdk工程
  4. 修改CubuMX

这里最不可思议的是不要管理规则通道和注入通道问题

1. 配置KConfig文件

## 2. 打开menuconfig选中ADC外设

3. 保存配置生成mdk工程

4. 修改CubuMX

5. 测试文件

```c
/*

  • 程序清单: ADC 设备使用例程
  • 例程导出了 adc_sample 命令到控制终端
  • 命令调用格式:adc_sample
  • 程序功能:通过 ADC 设备采样电压值并转换为数值。
  •       示例代码参考电压为3.3V,转换位数为12位。
    

*/

#include <rtthread.h>
#include <rtdevice.h>

#define ADC_DEV_NAME “adc1” /* ADC 设备名称 /
#define ADC_DEV_CHANNEL0 0 /
ADC 通道 /
#define ADC_DEV_CHANNEL1 1 /
ADC 通道 /
#define ADC_DEV_CHANNEL5 5 /
ADC 通道 /
#define REFER_VOLTAGE 330 /
参考电压 3.3V,数据精度乘以100保留2位小数*/
#define CONVERT_BITS (1 << 12) /* 转换位数为12位 */

static int adc_vol_sample(int argc, char *argv[])
{
rt_adc_device_t adc_dev;
rt_uint32_t value, vol0,vol1,vol5;
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_CHANNEL0);ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL1);ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL5);while(1){
/* 读取采样值 */value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL0);/* 转换为对应电压值 */vol0 = value * REFER_VOLTAGE / CONVERT_BITS;//rt_kprintf("the voltage is :%d.%02d \n", vol0 / 100, vol0 % 100);/* 读取采样值 */value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL1);/* 转换为对应电压值 */vol1 = value * REFER_VOLTAGE / CONVERT_BITS;//rt_kprintf("the voltage is :%d.%02d \n", vol1 / 100, vol1 % 100);rt_thread_delay(500);/* 读取采样值 */value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL5);/* 转换为对应电压值 */vol5 = value * REFER_VOLTAGE / CONVERT_BITS;rt_kprintf("the voltage is :%d.%02d  %d.%02d %d.%02d \n", vol0 / 100, vol0 % 100,vol1 / 100, vol1 % 100,vol5 / 100, vol5 % 100);rt_thread_delay(500);}
/* 关闭通道 */
ret = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL0);ret = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL1);
return ret;

}
/* 导出到 msh 命令列表中 */
MSH_CMD_EXPORT(adc_vol_sample, adc voltage convert sample);


![在这里插入图片描述](https://img-blog.csdnimg.cn/fd9ffc911678424e8b3ed7a9d2ea4c13.png)

RTT外设驱动使用2--ADC串口添加相关推荐

  1. 关于rt-thread的外设驱动原理(例子spi)

    一:有关SPI rt中用户需要添加spi的注册和初始化文件如:drv_spi,里面需要做的是 static struct rt_spi_ops gd32_spi_ops = { configure, ...

  2. Simplicity Studio V5 建立一个空工程后如何添加外设驱动

    默认生成工程自带的驱动就这么多. 这些都可以根据自己需求添加.下面我们添加i2c,IADC,LDMA三个. 这里多出了三个文件:em_i2c.c.em_iadc.c.em_ldma.c,这就是自己添加 ...

  3. APM飞控添加新的外设驱动

    APM飞控添加新的外设驱动,原文链接:http://www.nufeichuiyun.com/?p=300

  4. 【RT-Thread】nxp rt10xx 设备驱动框架之--adc搭建和使用

    ADC(Analog-to-Digital Converter) 指模数转换器.将模拟电压信号转换成数字信号,通常ADC接口会连接一些传感器,如:温度传感器:陀螺仪加速度计:电位器等等. 开发前准备 ...

  5. Linux主机驱动与外设驱动分离思想

    - by 宋宝华(Barry Song) 1主机.外设驱动分离的意义 在Linux设备驱动框架的设计中,除了有分层设计实现以外,还有分隔的思想.举一个简单的例子,假设我们要通过SPI总线访问某外设,在 ...

  6. 启明云端分享|直接用ESP32-S2和ESP32-C3驱动1.54寸串口屏,有哪些区别呢,他们的亮点又有哪些呢

    以上两组图分别是ESP32-S2和ESP32-C3驱动1.54寸串口屏的规格尺寸(后面我们统称为WT-1.54S系列和WT-1.54C系列) 首先 WT-1.54S系列和WT-1.54C系列刷新频率有 ...

  7. Pixhawk原生固件PX4之串口添加读取传感器实现

    本博客承接前一篇,对FreeApe的串口添加超声波传感器博文后半部分进行学习. 为什么叫前奏呢,因为用了伪传感器,把单片机用串口发送的有规律的数据当作了传感器读取到的数据.但是无碍的. 开发环境:Ub ...

  8. i2c--ioctl--主机控制器驱动(i2c_adapter)--外设驱动(i2c_driver)

    updating... i2c驱动目录 [root@localhost i2c]# pwd /opt/FriendlyArm/mini2440/linux-2.6.32.2/drivers/i2c [ ...

  9. linux iio 设备驱动,FS4412开发板使用Linux IIO驱动框架实现ADC驱动

    1.概述 FS4412开发板有一个4通道(0/1/2).10/12比特精度的 ADC ,其中: 1)ADCIN0: 在核心板中引出 2)ADCIN1: 在核心板中引出 3)ADCIN2: 在核心板中引 ...

最新文章

  1. MutipartFile使用过程中遇到的坑
  2. linux中pthread_kill函数详解
  3. 马云卖数据,你卖商品
  4. 有关opencv光流法的解释
  5. Linux源码安装mysql 5.5.13 (cmake编译)
  6. tomcat源码分析_百战卓越108天tomcat和servlet源码分析
  7. SpringAOP aspectJ ProceedingJoinPoint 获取当前方法
  8. 在Jetty服务器上安装SSL证书
  9. Shiro Shiro Web Support and EnvironmentLoaderListener
  10. java使用Post方式发送https请求的方法,直接可以用
  11. C语言 · 阶乘计算 · 基础练习
  12. ==和Equal()
  13. Tensorflow2.0深度学习框架的搭建与环境配置
  14. Python语法特点
  15. 当棋牌遇到Web3,Immortal Games能让国际象棋流行起来么
  16. 简述搜索引擎的分类及其特点
  17. 未来软件开发的发展趋势
  18. 再见2021,你好2022
  19. Flink之IntervalJoin介绍
  20. 干货 | 深度学习之卷积神经网络(CNN)的模型结构

热门文章

  1. 【嵌入式硬件芯片开发笔记】HART调制解调器AD5700芯片配置流程
  2. MFC之屏幕截图工具
  3. 北京人口到底有多吓人?!
  4. 小兵测试器Android,小兵别嚣张测试版下载
  5. html5文字金属质感,影视动画制作软件怎么让字体有金属感|金属质感字体教程|如何制作金属字体...
  6. python如何清空excel表格_python如何清空excel单元格
  7. NIO FileChannel中的文件锁lock 学习笔记
  8. 26个英文字母和序号
  9. 金庸的武侠世界——小说人物分析
  10. Android MVVM + Retrofit + OkHttp + Coroutine 协程 + Room + 组件化架构的Android应用开发规范化架构