| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> rtthread pwm设备控制led小灯亮度 -> 正文阅读 |
|
[嵌入式]rtthread pwm设备控制led小灯亮度 |
? ? ? ? 本文所讲内容的开发坏境基于keil5,rt-thread-4.0.3,env,STM32CubeMX等,硬件为德飞莱尼莫m3s开发板。开发环境搭建及安装请自行百度。内容简单粗暴,不要太计较,主要是实现了功能。 ????????本文不讲理论知识,rttheard PWM设备驱动相关知识请移步官网https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/pwm/pwm ? ? ? ? 本文也不讲rtthread移植相关及env环境搭建,要想了解相关知识请移步官网https://www.rt-thread.org/document/site/#/development-tools/env/env ? ? ? ? 德飞莱尼莫m3s开发板采用STM32F103ZET6作为主控芯片,共有两个红色用户功能led灯,如下图: ? ? ? ?? ? ? ? ? 本文选用led3?作为被控led灯,由图可知要想控制led3的亮度,就是控制PB5引脚的低电平持续时间,持续时间越长越亮,越短越暗。 ? ? ? ? 查询STM32F103ZET6相关手册可知PB5对应TIM3_CH2通道,所以我们就是要配置此引脚的PWM功能。方法如下: ? ? ? ? 1.通过env配置相关功能,进入工程目录下,rt-thread-4.0.3\bsp\stm32\stm32f103-dofly-M3S,右击鼠标,弹出如下画面 ?????????选择ConEmu Here后弹出如下所示画面 ?????????输入menuconfig后按回车键打开配置画面,如下: ?????????按键盘上下箭头选择第二项,RT-Thread Components ?--->,如下图 ?????????按回车进入,进入后按键盘上下箭头选择Device Drivers ?--->,如下图 ?????????按回车进入,进入后按键盘上下箭头选择[ ] Using hardware timer device drivers,如下图 ????????按下Y键使能此项配置,选项前面的方挂号内会多出*,使能后如下图所示 ? ?????????继续往下找到?[ ] Using PWM device drivers选项,并使能它,方法如上。如下图: ?????????使能之前需要修改一下Kconfig配置文件,此文件在rt-thread-4.0.3\components\drivers目录下,修改内容如下:
????????该段修改的内容具体是啥意思这里不作讲解,想了解的可以百度搜索相关资料研究。这段代码主要用来实现PWM功能的配置。使能后如下图所示: ? ? ? ? 从图中可以看出选择了?TIM3的PWM_CH2功能。配置好后连续按ESC键退至如下所示画面 ?????????按下回车键退出配置画面。 ? ? ? ? 输入scons --target=mdk5按回车键重新生成keil5工程。 ? ? ? ? 打开工程,在工程中stm32f1xx_hal_msp.c最下方添加如下代码:
? ? ? ? ? ?该段代码主要用于初始化PB5引脚的PWM硬件功能,此段代码可以通过STM32CubeMX生成,生成方法自己百度搜索解决。 ? ? ? ? 编译工程测试设备驱动添加是否成功,如果编译无错表示添加成功,编译有误根据实际错误排查问题,如有疑问可以联系我一起帮忙解决。 ? ? ? ? 在主程序中添加测试代码,如下:
? ? ? ? 编译后下载至开发板中观察led3调节亮度效果,如下: rtthread pwm调节led亮度 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 9:33:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |