RTT学习之PWM、ADC设备
一 使用步骤:
查找 PWM 设备获取设备句柄。rt_device_find()
设置 PWM 周期和脉冲宽度。rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse);
使能 PWM 设备。rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL);//rt_pwm_disable(pwm_dev, PWM_DEV_CHANNEL);
while 循环里每 50 毫秒修改一次脉冲宽度pulse的值,并通过rt_pwm_set设置进去。
将 PWM通道对应引脚和 LED 对应引脚相连,可以看到 LED 不停的由暗变到亮,然后又从亮变到暗。
- 在fish中可以通过命令操作pwm_set pwm1 PWM_DEV_CHANNEL, period, pulse ;pwm_enable/disable pwm1 PWM_DEV_CHANNEL
7备注可以将方向(直线的斜度)、周期、占空比自定义数据结构更加清晰;
ADC设备:可以将ADC设备名称,通道、ADC值、模拟值自定义成结构体
#define ADC_DEV_NAME "adc1" /* ADC 设备名称 */
#define ADC_DEV_CHANNEL 5 /* ADC 通道 */
rt_adc_device_t adc_dev; /* ADC 设备句柄 */
rt_uint32_t value;
/* 查找设备 */
adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME);
/* 使能设备 */
rt_adc_enable(adc_dev, ADC_DEV_CHANNEL);
/* 读取采样值 */
value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL);
/* 转换为对应电压值 */
//采样值 * 参考电压 / (1 << 分辨率位数),上面示例代码乘以 100 将数据放大,最后通过 vol / 100 获得电压的整数位值,通过 vol % 100 获得电压的小数位值
vol = value * REFER_VOLTAGE / CONVERT_BITS;///* 参考电压 3.3V,数据精度乘以100保留2位小数*/
rt_kprintf("the voltage is :%d.%02d \n", vol / , vol % );
/* 关闭通道 */
rt_adc_disable(adc_dev, ADC_DEV_CHANNEL);
FISH命令:
注册:adc probe adc1
使能、禁能:adc enable 5
读值 :adc read 5
RTT学习之PWM、ADC设备的更多相关文章
- RTT学习之RTC设备
RTC: 目前系统内只允许存在一个 RTC 设备,且名称为 "rtc",所以不用查找设备 启用 Soft RTC (软件模拟 RTC),对无硬件RTC 启用 NTP 时间自动同步, ...
- RTT学习之sensor设备
Sensor设备的常用操作: 首先查找传感器设置获取设备句柄.rt_device_find 以轮询.FIFO.中断.任意一种方式打开传感器,中断和FIFO需要设置接收回调函数(释放一个信号量给接收线程 ...
- RTT学习之SPI设备
SPI分为主.从.设备:具体又分标准SPI/DUAL SPI/QUAD SPI(用80字节的RAMrt_err_t rt_spi_take_bus(struct rt_spi_device *devi ...
- STM32学习笔记(七) ADC模数转换测电平(普通和DMA模式)
嵌入式系统在微控制领域(温度,湿度,压力检测,四轴飞行器)中占据着重要地位,这些功能的实现是由微处理器cpu(如stm32)和传感器以及控制器共同完成的,而连接他们,使它们能够互相正常交流的正是本小节 ...
- USB ISP(ICSP) Open Programmer < PWM ADC HV PID >
http://sourceforge.net/projects/openprogrammer/?source=navbar Open Programmer http://openprog.alterv ...
- stm32寄存器版学习笔记07 ADC
STM32F103RCT有3个ADC,12位主逼近型模拟数字转换器,有18个通道,可测量16个外部和2个内部信号源.各通道的A/D转换可以单次.连续.扫描或间断模式执行. 1.通道选择 stm32把A ...
- stm32定时器学习二——PWM设置
/* STM32 嵌入式学习入门(5)——PWM的实现 上一篇博文介绍了定时器和PWM的基本的原理,本篇博文从代码层面来介绍PWM的具体实现.同样,还是以博主所用的开发板——正点原子开发板STM32F ...
- C++学习笔记22:设备
设备类型 设备文件的性质 设备文件不是普通的磁盘文件 读写设备的数据需要与相应的设备驱动器通信 设备文件的类型 字符设备:读写串行数据字节流,如串口.终端等 块设备:随机读写固定尺寸数据块,如磁盘设备 ...
- 【Windows 8 Store App】学习一:获取设备信息
原文http://www.cnblogs.com/java-koma/archive/2013/05/22/3093306.html 通常情况下我们需要知道用户设备的一些信息:deviceId, os ...
随机推荐
- cookies、sessionStorage和localStorage的异同点
相同点:都是存储于客户端 不同点: 1.存储大小 cookies数据大小不能大于4k; localStorage和sessionStroage则可以达到5M: 2.有效时间 cookies在设置的有效 ...
- Oracle用户权限授权以及索引、同义词、分区
本文为原创,如需转载,请标明出处 http://www.cnblogs.com/gudu1/p/7601765.html ---- 用户权限 1.创建表空间 (创建用户之前需要创建表空间和临时表空间, ...
- 一则关于控制文件全部丢失后如何重新编目RMAN元数据的简单实验
主题:一则简单的RMAN元数据编目实验,来自于博客园AskScuti. 场景:RMAN备份完整情况下,未使用Catalog目录库.删除了所有的控制文件,在手工重建后,导致记录在控制文件中的RMAN备份 ...
- 接口自动化框架(Pytest,Allure,Yaml)
框架链接:https://www.jianshu.com/p/e31c54bf15ee 目前是基于他的框架做了些改动(主要是session.action()和json格式传参). 后续优化,应该主要思 ...
- DSDT/SSDT
版权说明:本文章参考tonymacx86的Patching LAPTOP DSDT/SSDTs这篇文章 如果需要转载,请注明原文地址:http://blog.csdn.net/wr132/articl ...
- c数据结构 -- 线性表之 复杂的链式存储结构
复杂的链式存储结构 循环链表 定义:是一种头尾相接的链表(即表中最后一个结点的指针域指向头结点,整个链表形成一个环) 优点:从表中任一节点出发均可找到表中其他结点 注意:涉及遍历操作时,终止条件是判断 ...
- 第四十七篇 入门机器学习——分类的准确性(Accuracy)
No.1. 通常情况下,直接将训练得到的模型应用于真实环境中,可能会存在很多问题 No.2. 比较好的解决方法是,将原始数据中的大部分用于训练数据,而留出少部分数据用于测试,即,将数据集切分成训练数据 ...
- 数据库程序接口——JDBC——初篇——目录
目录 建立连接 核心对象 Driver DriverManager Connection DataSource 常用功能 第一个程序 C3P0数据源 DBCP数据源 事务之Spring事务 执行SQL ...
- centos7 sshpass 用法详解
可以参考文章:https://www.cnblogs.com/kaishirenshi/p/7921308.html 安装方式直接通过yum 安装 yum -y install sshpass 常用的 ...
- 【Python】 注释
确保对模块, 函数, 方法和行内注释使用正确的风格 Python中的注释有单行注释和多行注释: Python中单行注释以 # 开头,例如:: # 这是一个注释 print("Hello, W ...