RTT外设驱动使用2--ADC串口添加
配置步骤
- 配置KConfig文件
- 打开menuconfig选中ADC外设
- 保存配置生成mdk工程
- 修改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串口添加相关推荐
- 关于rt-thread的外设驱动原理(例子spi)
一:有关SPI rt中用户需要添加spi的注册和初始化文件如:drv_spi,里面需要做的是 static struct rt_spi_ops gd32_spi_ops = { configure, ...
- Simplicity Studio V5 建立一个空工程后如何添加外设驱动
默认生成工程自带的驱动就这么多. 这些都可以根据自己需求添加.下面我们添加i2c,IADC,LDMA三个. 这里多出了三个文件:em_i2c.c.em_iadc.c.em_ldma.c,这就是自己添加 ...
- APM飞控添加新的外设驱动
APM飞控添加新的外设驱动,原文链接:http://www.nufeichuiyun.com/?p=300
- 【RT-Thread】nxp rt10xx 设备驱动框架之--adc搭建和使用
ADC(Analog-to-Digital Converter) 指模数转换器.将模拟电压信号转换成数字信号,通常ADC接口会连接一些传感器,如:温度传感器:陀螺仪加速度计:电位器等等. 开发前准备 ...
- Linux主机驱动与外设驱动分离思想
- by 宋宝华(Barry Song) 1主机.外设驱动分离的意义 在Linux设备驱动框架的设计中,除了有分层设计实现以外,还有分隔的思想.举一个简单的例子,假设我们要通过SPI总线访问某外设,在 ...
- 启明云端分享|直接用ESP32-S2和ESP32-C3驱动1.54寸串口屏,有哪些区别呢,他们的亮点又有哪些呢
以上两组图分别是ESP32-S2和ESP32-C3驱动1.54寸串口屏的规格尺寸(后面我们统称为WT-1.54S系列和WT-1.54C系列) 首先 WT-1.54S系列和WT-1.54C系列刷新频率有 ...
- Pixhawk原生固件PX4之串口添加读取传感器实现
本博客承接前一篇,对FreeApe的串口添加超声波传感器博文后半部分进行学习. 为什么叫前奏呢,因为用了伪传感器,把单片机用串口发送的有规律的数据当作了传感器读取到的数据.但是无碍的. 开发环境:Ub ...
- i2c--ioctl--主机控制器驱动(i2c_adapter)--外设驱动(i2c_driver)
updating... i2c驱动目录 [root@localhost i2c]# pwd /opt/FriendlyArm/mini2440/linux-2.6.32.2/drivers/i2c [ ...
- linux iio 设备驱动,FS4412开发板使用Linux IIO驱动框架实现ADC驱动
1.概述 FS4412开发板有一个4通道(0/1/2).10/12比特精度的 ADC ,其中: 1)ADCIN0: 在核心板中引出 2)ADCIN1: 在核心板中引出 3)ADCIN2: 在核心板中引 ...
最新文章
- MutipartFile使用过程中遇到的坑
- linux中pthread_kill函数详解
- 马云卖数据,你卖商品
- 有关opencv光流法的解释
- Linux源码安装mysql 5.5.13 (cmake编译)
- tomcat源码分析_百战卓越108天tomcat和servlet源码分析
- SpringAOP aspectJ ProceedingJoinPoint 获取当前方法
- 在Jetty服务器上安装SSL证书
- Shiro Shiro Web Support and EnvironmentLoaderListener
- java使用Post方式发送https请求的方法,直接可以用
- C语言 · 阶乘计算 · 基础练习
- ==和Equal()
- Tensorflow2.0深度学习框架的搭建与环境配置
- Python语法特点
- 当棋牌遇到Web3,Immortal Games能让国际象棋流行起来么
- 简述搜索引擎的分类及其特点
- 未来软件开发的发展趋势
- 再见2021,你好2022
- Flink之IntervalJoin介绍
- 干货 | 深度学习之卷积神经网络(CNN)的模型结构
热门文章
- 【嵌入式硬件芯片开发笔记】HART调制解调器AD5700芯片配置流程
- MFC之屏幕截图工具
- 北京人口到底有多吓人?!
- 小兵测试器Android,小兵别嚣张测试版下载
- html5文字金属质感,影视动画制作软件怎么让字体有金属感|金属质感字体教程|如何制作金属字体...
- python如何清空excel表格_python如何清空excel单元格
- NIO FileChannel中的文件锁lock 学习笔记
- 26个英文字母和序号
- 金庸的武侠世界——小说人物分析
- Android MVVM + Retrofit + OkHttp + Coroutine 协程 + Room + 组件化架构的Android应用开发规范化架构