[原创] ST NUCLEO-U083RC 移植RT-Thread实现按键控制led亮灭和控制sg90电机动作

crz_21   2024-6-13 20:16 楼主

 

1、实验准备

需要一个SG90的舵机

 

2、工程搭建

首先从github上下载rtthread nano的源码,也可以从KEIL上或者STM32 CubeMX上添加rtthread。

自行下载的地址:https://github.com/RT-Thread/rtthread-nano/archive/refs/heads/master.zip

选取如图中的文件加到工程里

选取1.png
其中include和src文件夹全部移植即可,bsp和libcpu文件夹则需要选取一些文件添加,下图红框中便是需要的文件。
 
x2.png
x3.png
添加之后应该如图所示
x4.png
x6.png
PWM需要预分频成480,因为SG90需要50Hz频率的方波 通过分频后为100000Hz,在除以ARR为2000的值,得到50Hz频率。
 
x7.png

主频设置为48Mhz。

因为使用了rtthread,需要将所有初始化放到board.c文件中,board.c中的#define RT_HEAP_SIZE (7 * 512)初始化线程栈,这个会影响单片机的ram大小

x8.png

在components.c中的void rt_application_init(void)初始化任务。

 

三、实验现象

429e863f4fb4eec9d0c166e8d7ef7c90

2bbd27944cc169f2e9a5a7e9ec1fc794

 

 

 

本帖最后由 crz_21 于 2024-6-13 20:15 编辑

回复评论 (3)

RTT,在U0中跑,内存有点紧张呀?试了最多点多少内存空间呀?

点赞  2024-6-14 13:24

谢谢分享

点赞  2024-6-14 15:38
引用: lugl4313820 发表于 2024-6-14 13:24 RTT,在U0中跑,内存有点紧张呀?试了最多点多少内存空间呀?

主要看用了多少线程栈,可以自定义的,官网介绍flash 最小可以4k,ram最小可以去到4k


点赞  2024-6-14 20:04
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复