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

STM32 RT-THREAD经验分享 4

[复制链接]
STMCU小助手 发布时间:2023-3-6 12:21
这个文章主要是解决程序找不到设备的问题。8 ]. B" I$ ]/ E5 X8 }; D

9 E6 v7 ~4 ]" v& v- W3 u
总结过程:在kconfig文件中添加我们想要使用的设备。之后使用env工具打开该设备,并保存配置到我们的工程中,之后编译工程我们能查找到设备。$ {# G& n' k8 I3 s& l

2 v7 h+ v& A: ^* O! ~% R1、首先在已有工程文件夹空白处右键conemu here,打开env工具。之后输入命令menuconfig,打开如下界面。选择最下面的硬件驱动配置进入; Z2 [2 L8 X' `- O- _
% \! E9 H6 F! \% j, J
20210926152416412.png
0 o  F6 n# U9 G* r2 N" w$ N1 r- |( U+ g2 O
之后中间一项进入* v) C1 s6 P  \$ k) r; o' f+ h
5 u6 h( E2 T" w+ i- ^2 [9 N
20210926152456620.png + g0 f+ h  a5 x7 l3 M  \
/ m. g% C1 _' G( J4 ^9 T
之后进入如下界面,Y键使能pwm,使能成功变星号9 Q; H0 a1 P5 T: X5 ~. ^8 s
, P0 m/ p7 r' [4 R" v
20210926152539671.png $ W1 u6 ?. O# f
5 z1 I4 X" C3 u  }1 V( c1 O
之后继续点击进入如下界面也是Y键使能, r1 S$ X# p, v0 p5 Q
7 ?+ ~9 x% k0 h2 O/ e. L9 x
20210926152645363.png
1 \7 K" l; b7 h3 _0 w: u
& T4 |2 y9 w$ T4 @: U 继续进入使能
7 o6 E1 ]' [( I4 b, g. s0 {. l) z7 T3 v& M
20210926152715806.png
0 x2 z* z& M; P
, q/ K5 `- t& ~$ r1 Z- F
之后保存退出9 S/ D: K0 x' X: A- M( `  H
6 A9 G2 o# P1 U! r0 N
9 b  [& l$ ~) d4 }2 q; i4 D* N5 ~" M
2、但是如果我们工程里边没有的,比如TIM1-CH1.$ e4 \: \. q& K% H) H' C3 c2 h

6 b" m! k8 {. N% j" s, d6 f打开Kconfig文件
/ n( ?  ^$ K/ p) h" [5 q  l; `5 f& f' u, a
20210926152943807.png * m  b/ C* R1 P
打开后我们看到,参考这个添加我们想要的PWM) c% H" I; I( \+ B0 _( W. F
, r* X$ w1 o$ n& j4 s; D  y
20210926153218683.png - a) b9 T+ P1 b
5 G4 b& o' D+ i9 F
把tim1和tim2的4个通道都加入了; w4 |  e' Z0 ?& f

2 p' c9 a* o+ P. `% R* n7 \
20210926153422200.png
2 X! H3 U# z9 X/ K* K8 {) R3 M9 N
cnv工具再次打开我们的硬件驱动界面,进入PWM界面看到新增的timer1的PWM7 r: V7 ~: ?! L9 B/ a

8 o( S7 t1 |1 Z8 ~! ?
20210926153622258.png % P: }4 H% |) U( e. V$ B) d' d" m% U
  T, y8 @5 \$ y/ G/ M0 @" z
Y键使能进入,能看到我们加入的通道出现了
' U# s3 o! g+ ]4 B( g8 p8 G  }
& [7 N6 ?* Q( ]3 D+ d. H% K4 R9 v
20210926153702421.png
2 A5 R' Q7 q/ y" Y, t
# T) Y' Z0 _/ s/ s Y键使能我们想要使用的通道即可。之后save。6 S9 a0 S+ c& a( m* ]
* v0 \; `- r$ ]: u
使用如下命令,将改动更新到mdk工程中去( E# v! `1 y8 c; C

' {  R+ H% }' \9 q+ g
20210926153937144.png , U% G: _2 d) o+ s% [1 O
/ L- t  W% s; E$ B
此时在我们的工程中的rtconfig.h中能看我们刚才的操作,多了如下的东西# T  t" S4 A2 o, Z6 v/ V6 {5 m
  ~! |* S" E4 t: z" U6 k2 \; v: K
20210926154128842.png % n% w/ c2 K. C
3 O1 }: ^/ i! J
3、编译工程报错了, + X4 A* S& u' h/ o

- R' a! |; f  l
20210926154343355.png * P4 J7 j0 Y" X7 w5 N$ i5 j
0 M6 _' X9 ?9 D" P1 ^) t: H
在这个文件里照葫芦画瓢添加了tim1的
  T+ F) h4 J: B5 S  [& U; Z6 ]' Q$ |% D; X  @
20210926154453163.png : y' H0 q3 s3 v* X
8 H# C  `# `& [2 M8 K6 \
4、试试新添加的tim1-ch3.
9 O) Z4 r- ?4 ]5 }4 a! U! E定义如下:3 n. D1 V: F2 ?7 S
#define PWM_DEV_NAME        "pwm1"  
1 e. d' \0 B8 A" a5 ]! m#define PWM_DEV_CHANNEL     3      
/ G" t4 u  i3 ]struct rt_device_pwm *pwm_dev;   
/ F$ W1 H, A3 r. H0 C6 O9 @# D
+ h6 T, w/ B6 T* Z& T查找设备语句如下+ }, z3 x: W- E4 q/ ~* R
      rt_uint32_t period, pulse, dir;
( [" H) Q& g$ U) Z7 [* F    period = 500000;      # i, o& c, ^; T" T# j3 u4 R
    pulse = 0;            o+ S: t  t3 F
    pwm_dev = (struct rt_device_pwm *)rt_device_find(PWM_DEV_NAME);% l3 U# u, D" A0 l9 d8 x
    if (pwm_dev == RT_NULL)% r' N9 t  q8 _4 R) Q
    {6 G5 W$ d5 Q2 Q
        rt_kprintf("pwm sample run failed! can't find %s device!\n", PWM_DEV_NAME);' H8 ]3 W; A% S2 m5 H' ?2 I
    }
0 ^% x* _1 g; s# j, Y$ z$ p    rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse);2 v' I( i, u* n9 K; F# y1 L! V) M9 E/ q
    rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL);
4 V$ l, Y+ I, d( K$ Q' K
* [' L/ {. [7 S4 ^

+ @$ b6 a2 f* i/ T: _( c$ F仿真,未执行划线语句,证明配置成功了。
# X; I+ w/ b- |$ [# ]! g$ Q! ?4 X6 j" Y/ B4 \2 T+ C8 c
20210926155015156.png
# Y$ N7 U: r, Z" R6 @
% [) s; y' l4 b: _5 b2 p# {
当然这个前提是硬件配置已经使用cube配置过了
! ?/ n/ p5 T3 p) v7 H- j; j$ x/ |
- t! J- ^- b9 n/ c 20210926155123387.png : E5 d1 u* K0 e' k( d/ V2 D4 n7 |
————————————————
  V3 v* ^: m& h8 k) f* V, |/ M版权声明:冬麻麻
0 K! A5 ]& n& k7 F1 j3 c7 O# U/ l; A# n; i/ H# N% `
赞 收藏 评论0 发布时间:2023-3-6 12:21

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版