
这个文章主要是解决程序找不到设备的问题。 总结过程:在kconfig文件中添加我们想要使用的设备。之后使用env工具打开该设备,并保存配置到我们的工程中,之后编译工程我们能查找到设备。 1、首先在已有工程文件夹空白处右键conemu here,打开env工具。之后输入命令menuconfig,打开如下界面。选择最下面的硬件驱动配置进入 ![]() 之后中间一项进入 ![]() 之后进入如下界面,Y键使能pwm,使能成功变星号 ![]() 之后继续点击进入如下界面也是Y键使能 ![]() 继续进入使能 ![]() 之后保存退出 2、但是如果我们工程里边没有的,比如TIM1-CH1. 打开Kconfig文件 ![]() 打开后我们看到,参考这个添加我们想要的PWM ![]() 把tim1和tim2的4个通道都加入了 ![]() cnv工具再次打开我们的硬件驱动界面,进入PWM界面看到新增的timer1的PWM ![]() Y键使能进入,能看到我们加入的通道出现了 ![]() Y键使能我们想要使用的通道即可。之后save。 使用如下命令,将改动更新到mdk工程中去 ![]() 此时在我们的工程中的rtconfig.h中能看我们刚才的操作,多了如下的东西 ![]() 3、编译工程报错了, ![]() 在这个文件里照葫芦画瓢添加了tim1的 ![]() 4、试试新添加的tim1-ch3. 定义如下: #define PWM_DEV_NAME "pwm1" #define PWM_DEV_CHANNEL 3 struct rt_device_pwm *pwm_dev; 查找设备语句如下 rt_uint32_t period, pulse, dir; period = 500000; pulse = 0; pwm_dev = (struct rt_device_pwm *)rt_device_find(PWM_DEV_NAME); if (pwm_dev == RT_NULL) { rt_kprintf("pwm sample run failed! can't find %s device!\n", PWM_DEV_NAME); } rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse); rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL); 仿真,未执行划线语句,证明配置成功了。 ![]() 当然这个前提是硬件配置已经使用cube配置过了 ![]() ———————————————— 版权声明:冬麻麻 |
【STM32C0测评】Nucleo-C092开发板驱动DS1302实验
Keil下的STM32N6之RAM运行工程配置说明
【STM32MP257-DK】01开发板开箱、ST MPU 生态资源使用、环境搭建以及镜像更新
兔哥的初代M33【002】-H503Nucleo 内部flash操作
兔哥的杂谈【002】——如何性价比更高地去编译STM32
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
FreeRTOS学习笔记2
【NUCLEO-H533RE评测】+05 调试PWM
基于STM32在线升级OTA经验分享
基于STM32 hardfault问题分析经验分享