Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ADC
给RT-Thread添加ADC驱动框架
发布于 2018-05-07 22:31:18 浏览:4924
订阅该版
[tocm] # ADC驱动框架 ADC(Analog-to-Digital Converter) 基本功能:按通道号获取原始值 # RT-Thread的ADC实现 1. 为省空间,所以的ADC通道合并为一个设备: RT_Device_Class_Miscellaneous 2. 使用pos参数作为通道号 ## 接口 ```c struct rt_adc_ops { rt_err_t (*convert)(struct rt_device *device, int channel, int *value); }; struct rt_device_adc { struct rt_device parent; const struct rt_adc_ops *ops; }; ``` ADC只需要实现转换接口,输入参数为通道号。 ### 返回值的定义 暂定为原始值,数据类型为int,支持负数。 ## read ```c static rt_size_t _adc_read(rt_device_t dev, rt_off_t pos, void *buffer, rt_size_t size) { rt_err_t result = RT_EOK; rt_size_t i; struct rt_device_adc *adc = (struct rt_device_adc *)dev; int *value = (int *)buffer; if(!adc->ops->convert) { return 0; } for(i=0; i
ops->convert(dev, pos + i, value); if(result != RT_EOK) { return 0; } value++; } return i; } ``` ### pos pos参数为通道编号,每次可以读取多个通道。 ### size 统一定义为byte,避免歧义。 每一个通道的大小是 sizeof(int) 注意: pos与size的定义并不相同。
查看更多
4
个回答
默认排序
按发布时间排序
aozima
2018-05-07
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!
占位: 驱动示例与测试 ```c dev = rt_device_find("adc"); rt_device_open(dev, RT_DEVICE_FLAG_RDONLY); int value; rt_device_read(dev, channel, &value, sizeof(value)); ``` 
yygkqzh
2018-06-07
这家伙很懒,什么也没写!
谢谢楼主分享 明天调试看看
flyangus
2018-06-07
这家伙很懒,什么也没写!
如何对应到具体硬件上去?
mreasonlee
2019-04-14
这家伙很懒,什么也没写!
代码中的-> 是转码错误,请同学们注意下。
撰写答案
登录
注册新账号
关注者
0
被浏览
4.9k
关于作者
aozima
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!
提问
92
回答
4365
被采纳
354
关注TA
发私信
相关问题
1
请大神帮忙看下风格 还是哪里有问题 照着串口驱动写的ADC驱动
2
ADC config
3
rt_thread_delay()和ADC采样之间的冲突
4
请教在官方BSP中的STM32F40X程序中加入ADC,串口没输出。
5
求助:ADC采样被干扰
6
【内核和外设学习营】十里 ADC光敏电阻电压采集实验
7
<内核学习营>+坦然+探索者stm32f407板子的ADC测试光传感器实验
8
【内核学习营】+青春+ADC读取光敏传感器实验
9
《内核学习营》+水一方+项目中应用的ADC实现电压采集
10
STM32F10X HAL ADC+TIM+DMA+USART程序
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
N32L40XCL-STB 开发板模块评测任务大挑战
2
参加thread训练营有感
3
RT-Thread with VS Code之MacOS篇
4
RT-Thread开发GD32F450 添加串口外设,以及一种串口接收数据处理的方法
5
RT-Thread Studio软件正常下载,终端串口不显示问题
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
FinSH
Bootloader
CAN总线
ART-Pi
Hardfault
文件系统
USB
DMA
RT-Thread
线程
SCons
RT-Thread Nano
stm32
MQTT
ESP8266
ota
UART
RTC
rtthread
rt-smart
packages_软件包
freemodbus
I2C
WIZnet_W5500
flash
cubemx
FAL
定时器
BSP
AB32VG1
PWM
ADC
SDIO
msh
socket
keil
Debug
C++_cpp
LVGL
中断
编译报错
SFUD
SMP
MicroPython
本月问答贡献
宇宙码蚁
46
个答案
8
次被采纳
xiaorui
27
个答案
4
次被采纳
lchnu
15
个答案
4
次被采纳
Ryan_CW
6
个答案
4
次被采纳
张世争
6
个答案
3
次被采纳
本月文章贡献
张世争
6
篇文章
14
次点赞
YZRD
6
篇文章
10
次点赞
快乐小鸟
4
篇文章
4
次点赞
RTT_逍遥
3
篇文章
24
次点赞
recan
3
篇文章
19
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部