[STM32WBA] 【STM32WBA52CG测评】ThreadX移植+多任务点灯

[复制链接]
965|1
 楼主| 新曲难觅旧知音 发表于 2023-7-27 22:47 | 显示全部楼层 |阅读模式
本帖最后由 新曲难觅旧知音 于 2023-7-27 22:49 编辑

写在前面
本来啊,这期计划是做个蓝牙相关的实例来着。但是啊,这个蓝牙HID搞了好几天没搞懂。鸽一下,今天先整点别的。
一、ThreadX
它是专门为深度嵌入式实时 IoT 应用程序设计的。提供高级计划、通信、同步、计时器、内存管理和中断管理功能。非常易于使用,适用于要求极其苛刻的嵌入式应用程序。因为ThreadX 的占用空间非常小,最少只需要一个 2KB 的指令区域和 1 KB 的 RAM。
二、配置过程
首先呢,就是把我们的RCC调成外部晶振模式,
9b412c77da16e5ff27df7fc450013c49
然后调节时钟,使芯片工作在最高的工作频率。注意框中的选择,拨到外部晶振HSE,和PLL
AHB5的倍频系数好像不能自动切换,注意手动拨到4分频
2b0b0b4bdb09826d0e67ec82a28b4996
咱们就按顺序一点点往下配置。既然我们要点灯,就要把相应的GPIO口给配置一下。
3667e3e701a41b1817c16d153ea2f3f0
因为我们要用到的RTOS把Systickg给占用了,但是裸机系统工作时也需要时钟源。这里就选择TIM17作为时钟源。
c525d62d050dac81b389786c3832ec81
然后在中间件和软件包中选ThreadX,先只勾选核心就行了
f60346912fa97722c2937a2a2d785a25
然后是系统调度的频率,默认是100的意思是每秒进行100次的调度,我们改成1000,主要是为了方便。
2f8b31e031348bd5bdbaabf4e7ef1d5a
基本配置就这些了,先生成下工程试试。
打开工程后首先编译下,可以看到0错误0警告。
6205897f3f10d65c4e8684f9cac088ac
需要手动添加的主要是在app_threadx.h里添加main.h头文件。这步是为了让编译器知道GPIO
b019bd242e8415054c0eddae8417c7fc
调用ThreadX的api创建两个进程
3b82a82ff1d9754badb4f1b2976be55e
然后就可以在app_azure_rtos.c里面写我们需要的任务了。
这里写了两个任务,任务一是1秒钟翻转一次LED2,任务二是1.5秒翻转一次LED3
8b0b8f746030a6b0fa7c71b225fefc62
烧录就可以看到现象。红灯以1.5s频率闪烁,绿灯以1秒闪烁。


gejigeji521 发表于 2024-1-12 16:59 | 显示全部楼层
这属于高级点灯。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

144

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部