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

【STWINKT1B评测】1.FreeRTOS下点灯

[复制链接]
jundao721 发布时间:2024-7-22 21:25
. e: k5 w- ^4 a/ }
收到板卡还是有一种惊喜,这是一款集成了多传感器的主板,主打一个IOT应用。未开封照如图1所示:" J9 v; r+ S* V1 J2 \
1-1.jpg
- n% n; M/ C. A9 w5 Y
7 u5 K3 T$ \' t图1
  Z7 x1 P. k5 o9 |组装好就可以进行初步测试了。说明文档中,还画了两个磁铁,翻了盒子没找到,不知道其他小伙伴有没有这个疑问。然后再仔细读文档发现,磁铁是不在包装里,需要另行购买,至少说明东西是全的。' |3 H7 E1 {, r( V# @+ C, x( l0 m2 |
* P8 L- G9 o9 ^5 Q
下面进行初步测试,还是先点个灯,熟悉一下OS下的开发。查看原理图,如图2所示:# ~( l  ^7 v5 P. N; E
1-2.JPG
5 g, f5 ^' W8 ^+ R0 C7 ?. w. T) p+ n/ Y# r) p
图2; J% B" c" ^, \+ s% b/ e6 |" I
打开cubemx,配置时钟,LED引脚,如图3所示:
4 }6 O& V; ?' v3 m5 J* Q 1-3.JPG
0 N5 Q" l; v- T  Q! o
6 b' ~, ?+ e% X/ T$ U- |图3
+ }' g# d/ N; v配置CubeMX中自带的FreeRTOS,就不需要外部加载了,如图4所示:% K3 H' `, T* p: }
1-4.JPG 9 x# E+ l2 H6 ]

, \- D7 u+ E0 i( O! L; v图4
. Y5 H& V8 l+ Z2 m0 f! B4 O* O! q暂时配置都默认就可以了。点击生成项目。7 ]0 @2 _2 I! g( F) \$ q
CubeMx只是生成了初步的项目结构,还需要自己编写任务。这次仅实现两个LED灯闪烁任务,所以在FreeRTOS.c中加入任务。定义任务如下:7 L2 W; k: X0 ^1 d' i
  1. osThreadId_t LEDTaskHandle;
    / |* J, `$ V- |2 P5 c5 N, d
  2. const osThreadAttr_t LEDTask = {
    ; `9 F! c( l4 A4 q) d0 u
  3.   .name = "LEDTask1",
    : K9 |2 V8 h5 F* e% l* X5 D# m
  4.   .stack_size = 128 * 4,
    . U" W/ Q# R8 ~$ ~
  5.   .priority = (osPriority_t) osPriorityNormal1,
    # x, N) Q: z* s: Z% E- I( V  ]
  6. };
复制代码
) \  v3 K* h7 D+ D; L) R" s
# |+ i- Q' y0 ~: t/ J
建立任务如下:. M$ J. T" P' Y0 K
  1. LEDTaskHandle = osThreadNew(StartLEDTask, NULL, &LEDTask);
    ! c" ?8 D% \  i: l3 J
  2.         LEDTask2Handle = osThreadNew(StartLEDTask2, NULL, &LEDTask2);
复制代码
$ Y4 N1 V9 ~: p  Q) r+ P  h
$ I' B) o* B3 |
main函数中不需要修改,直接编译运行即可。效果如图5所示:: c' [+ n. |, [, U7 {4 l) R3 u
1-5.gif * J" a+ y# b! z+ V3 J! L
( {6 m  O! z" \, A: Y: J
图5' g7 a6 N& N7 u5 f6 q: N7 I: g
这里仅是熟悉一下开发环境,和验证一下板卡。学习的还有很多,等待测试。2 u2 c5 I3 Q9 ?$ g5 s
收藏 评论1 发布时间:2024-7-22 21:25

举报

1个回答
STMCU-管管 回答时间:4 天前
点赞,支持一下
; h7 v1 q  |- N! e. k
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版