你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 RT-THREAD经验分享 4

[复制链接]
STMCU小助手 发布时间:2023-3-6 12:21
这个文章主要是解决程序找不到设备的问题。

总结过程:在kconfig文件中添加我们想要使用的设备。之后使用env工具打开该设备,并保存配置到我们的工程中,之后编译工程我们能查找到设备。

1、首先在已有工程文件夹空白处右键conemu here,打开env工具。之后输入命令menuconfig,打开如下界面。选择最下面的硬件驱动配置进入

20210926152416412.png

之后中间一项进入

20210926152456620.png

之后进入如下界面,Y键使能pwm,使能成功变星号

20210926152539671.png

之后继续点击进入如下界面也是Y键使能

20210926152645363.png

继续进入使能

20210926152715806.png

之后保存退出


2、但是如果我们工程里边没有的,比如TIM1-CH1.

打开Kconfig文件

20210926152943807.png
打开后我们看到,参考这个添加我们想要的PWM

20210926153218683.png

把tim1和tim2的4个通道都加入了

20210926153422200.png

cnv工具再次打开我们的硬件驱动界面,进入PWM界面看到新增的timer1的PWM

20210926153622258.png

Y键使能进入,能看到我们加入的通道出现了

20210926153702421.png

Y键使能我们想要使用的通道即可。之后save。

使用如下命令,将改动更新到mdk工程中去

20210926153937144.png

此时在我们的工程中的rtconfig.h中能看我们刚才的操作,多了如下的东西

20210926154128842.png

3、编译工程报错了,

20210926154343355.png

在这个文件里照葫芦画瓢添加了tim1的

20210926154453163.png

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);


仿真,未执行划线语句,证明配置成功了。

20210926155015156.png

当然这个前提是硬件配置已经使用cube配置过了

20210926155123387.png
————————————————
版权声明:冬麻麻

收藏 评论0 发布时间:2023-3-6 12:21

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版