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

STM32 RT-THREAD经验分享 2

[复制链接]
STMCU小助手 发布时间:2023-3-6 12:21
CUBE如何安装RT-Thread网上有很多,不再写了。% l$ ]0 A9 z% f8 ~% j# t/ }( G$ X

1 S. o1 `$ _( m% o) W# B1、打开CUBE,FILE-new project,选择自己的芯片信号即可3 N) w  K% M$ o# h- C& v' c, P. f
% r  ]1 B$ R# w7 W6 H( A% x2 D
2、点击 software packs--select components
" C8 f- W! ]7 L5 G/ B  N$ O7 N, K4 A/ |" q/ t
20210121140945350.png ) g/ u/ h) v" L" l' b8 R
! }# m2 v, E6 n/ J, B6 ?! e
进入如下界面,操作如下
1 e7 h, R0 b& n# r! k- V
+ T. _) X$ R/ v/ ~; k: V2 L+ J) r' j
20210121141130402.png 9 D: D, Q' Y8 Y3 d; G1 D

' s& s: u# U& C- U0 h
9 ~! m. M. r% K# s6 P
3、进行自己需要的常规配置
# V/ o# L* J% i2 ~. J4 {5 u. e7 s: _7 `' x  J  F+ G
20210121141248465.png
6 h, a) i5 z- P3 |' ?+ M1 v7 t/ w
5 K1 Z; a' a* j
20210121141311854.png
4 [0 k* M9 m7 s% _) n
/ h0 J7 c* J1 S1 B% c. Q
4、配置LED8 z& q$ y& q5 O+ h% N
  i+ N( F4 n# G7 c. o) K
20210121141415963.png * x, k; i5 J  X" B
- l0 N6 ^! f. K0 T
5、这三个勾去掉,因为RT-THREAD已经帮我们配置了,否则会重复报错
& J$ m( @0 K% a8 S1 o& n, Z% S% Q2 X+ u: A
20210121141523354.png $ c( j( W3 l( i( c- l) b8 ]" ?

" k0 O1 u- }# }. H1 f9 K  m+ P6、加入操作系统
5 k! V2 d# e( m0 X  F* r
# q9 a2 \% ^! ]* t& k% |
2021012114163557.png # a# t( H6 V3 ]

& b: k% o, f! Q- Q. J
6 V8 j" q$ ^* w" E% `. e2 f
7、配置时钟% z! @* E# |& C2 k2 J# o+ V  j# P- b

2 ?, Z' e4 [( f8 M9 j: `  b
20210121141720430.png
+ u7 S# m. e( g$ i5 p) ^: M6 b4 x$ Q( X5 Q- {
& T. W* H# u* M
8、输出生成我们的keil MDK工程
# f- o; u! c. S+ r9 f
- x/ M& Y! }$ p. ]4 v: `, W9、打开mdk工程,main函数加入头文件 #include "rtthread.h"
2 w- F  U0 O& i5 \6 p% u8 H2 y4 L+ ^4 k6 C
20210121142000508.png
4 W4 Q+ L0 t# j6 I1 v) h
/ I# \! I7 ]" j  l3 \10、
8 L4 d7 `! M( g0 H定义线程控制块      static rt_thread_t led1_thread = RT_NULL;6 m2 C6 N0 a8 B' L/ ]' r* c
) Y& v! o3 h* a  T
,定义函数    static void led1_thread_entry(void* parameter);( K9 b+ w3 ?+ t

4 n1 {% i1 N0 L9 J$ O! ~
20210121142254122.png 8 R( ~& W0 Q4 x; G& s

' ^5 S2 n& t  y- q5 a/ B

8 b8 q8 U; L/ e( A/ u11、主函数中定义
) M9 U6 R" l- f4 z; Q4 l$ A0 G    led1_thread =                               /* Ï߳̿ØÖÆ¿éÖ¸Õë */
: J4 s2 H6 G$ f/ B  ?2 {1 P    rt_thread_create( "led1",              /* Ïß³ÌÃû×Ö */
! g6 h3 c' m6 v                      led1_thread_entry,   /* Ïß³ÌÈë¿Úº¯Êý */4 [7 t6 |' c% Q# ~. o- k$ }3 G
                      RT_NULL,             /* Ïß³ÌÈë¿Úº¯Êý²ÎÊý */
7 d9 n! A6 S4 |5 i" H% h6 ?7 R                      512,                 /* Ïß³ÌÕ»´óС */# M# |- f  m1 P# z5 T
                      3,                   /* Ï̵߳ÄÓÅÏȼ¶ */
) T5 @1 P7 D& ?6 H' P* b  F                      20);                 /* Ïß³Ìʱ¼äƬ */' W4 a7 b2 Z. ?, m
                  
( ]+ S  C- w4 g    /* Æô¶¯Ị̈߳¬¿ªÆôµ÷¶È */
0 k" p4 [+ m) U: ?$ f# c2 |   if (led1_thread != RT_NULL)
, S) L3 g7 r4 S        rt_thread_startup(led1_thread);8 [- y. w/ o$ u* @4 S+ L; ]' @
    else
, ]: N3 P2 z0 `        return -1;
' y+ S6 w' l% c6 d( e; q) {* e6 ?8 A5 f) B% g9 S
20210121142442693.png / K8 V2 E4 R/ R+ E7 `
- N1 i1 r' Z: H, s
12、while(1)中加入延时rt_thread_delay(100);        
. ?: H2 N. m, }4 U# r+ M$ r$ ?9 ~" M+ j# T/ M. K/ c8 y
20210121142608502.png 9 i+ m7 I; W& B( |$ k; U+ h4 D
4 o+ b, [5 I$ r+ w' e) T
13、函数
- [* u7 ^# q* U* e8 xstatic void led1_thread_entry(void* parameter)            
! T2 J1 L% W# `& [, W# y. a  s{   
3 h, D& W+ w% o  g" a    /* ³õʼ»¯can,ÔÚÖжϽÓÊÕCANÊý¾Ý°ü */2 Q& o/ D3 p, |5 w) Y
# V1 B3 E) W) V% m4 c1 O9 F% k1 G. P

+ }+ y9 d  B8 |% o( C& R    while (1)& W. J8 H1 X+ `; X# x: U/ e
    {- c$ H* X9 I7 ]! l$ U/ y
        HAL_GPIO_WritePin(GPIOA, LED1_Pin|LED2_Pin, GPIO_PIN_RESET);
4 s9 d% B" j+ I$ N/ T$ W6 `        rt_thread_delay(100);   
  m* J, Q- U# G9 x4 X' G    HAL_GPIO_WritePin(GPIOA, LED1_Pin|LED2_Pin, GPIO_PIN_SET);! y1 v% I2 d/ ]: {& ?# a/ P
    rt_thread_delay(100);            
' u5 v1 M* H; r- F  y$ y3 |2 @  v  b    }% I* s2 ?' l4 f1 d
}* D/ A6 S# Q5 M- N* O* l* _9 I5 q$ d
& {# H# `9 a7 c2 _# |5 `
20210121142946706.png
" |, N; `, _3 @; P) i) A% B) o4 k7 ^" c% [8 }% [3 H, f* I! C
14、编译,有个如下错误% c9 @" I3 t: ]6 B
4 `6 z2 L8 K; ?# P" F( T
20210121143036697.png
3 i' T0 A  g, r) g3 ^8 w
; {9 @' e1 X- {7 |# [* _$ _0 y15、把2的双斜杠去掉如下,再次编译通过
( l9 g4 m% o. G, w- ?3 x+ E6 M$ G- v0 S) i9 l
20210121143225151.png
- m, N% d2 t4 G8 a: `3 G; e
( A4 l. c% f% N, W6 X7 H16、下载程序开始闪灯,完成) [# @+ _- P/ ~3 a. [5 g
————————————————
# m# a0 m3 a" o0 m1 L  w版权声明:冬麻麻  X8 \% w# X! s) k+ w" ~/ f5 X, o8 R
/ O0 G1 C9 v$ |! L8 o% O

* N7 |7 z; A. m7 J$ @7 D' l
收藏 评论0 发布时间:2023-3-6 12:21

举报

0个回答

所属标签

相似分享

官网相关资源

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