【STM32&RT-Thread零基础入门】 1. 搭建开发环境



一、RT-Thread Studio 集成开发环境安装

1. 下载

可以从RT-Thread 官网上获取 RT-Thread studio 最新的安装包,下载路径 如下:https://www.rt-thread.org/studio.html

2. 安装

双击 .exe 文件进行安装, 有些操作系统版本可能会有提示,点
“更多信息"后点“仍要运行"就可以在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装路径可以更改,但不能有空格
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

首次登录需要账号
在这里插入图片描述

3. 下载SDK

(1)打开SDK管理器在这里插入图片描述
(2)下载SDK资源
SDK资源库一共有 6 个分类 ,如图所示 ,我们根据需要更新 SDK 资源, SDK 更新的文件一般保存在 D: RT ThreadStudio repo Extract 中 (由安装目录决定 。
在这里插入图片描述
勾选 RT-Thread 的源码包 ,此源码包为 RT-Thread 内核及驱动源码 ,如图 所示(图中为已经安装该源码包)。
在这里插入图片描述
勾选芯片支持包 ,支持包版本可自由选择,如图 所示(图中为已安装该芯片支持包) 。
在这里插入图片描述
勾选工具链支持包,如图所示(图中为已经安装该工具链)
在这里插入图片描述
勾选调试器支持包,如图所示(图中为已经安装该调试器支持包)。
在这里插入图片描述
最后,点击安装资源包,如图 所示 (软件会自动检测未完装的资源包并安装 。
在这里插入图片描述

二、STM32CubeMX 图形化配置工具安装

1. 获取安装包

STM32CubeMX 图形化配置工具可以从ST官网获取,其网址如下:
https://www.st.com/zh/development-tools/stm32cubemx.html#get-software
在这里插入图片描述
根据开发环境设备选择相应的型号
在这里插入图片描述
填写姓名和邮箱地址。如图所示,填写完后点“下载”,网站会发一封邮件到你填写的邮箱中。
在这里插入图片描述
进入邮箱。可以看到一份ST公司自动发过来的邮件,如图,直接点“download”,会重新跳转到下载界面。注意,此时不要做任何操作,等待一段时间会出现如图所示下载进度提示,表示正在下载。
在这里插入图片描述

2. 安装

在这里插入图片描述
在这里插入图片描述

3. 安装固件库

首先,如图中所示,在菜单栏中点击 “Help”, 然后点击“ Manage embedded software packages”,接着如图所示选择所需芯片(此处为f407,根据自己需要选择)的固件库,最后点击“Install”安装即可。
在这里插入图片描述


总结

本文主要为搭建基于RT-Thread的STM32开发环境。

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是基于STM32RT-Thread Nano系统的多线程流水灯项目参考代码: ```c #include "rtthread.h" #include "stm32f10x.h" #define LED1_PIN GPIO_Pin_0 #define LED2_PIN GPIO_Pin_1 #define LED3_PIN GPIO_Pin_2 #define LED4_PIN GPIO_Pin_3 static rt_thread_t led1_thread = RT_NULL; static rt_thread_t led2_thread = RT_NULL; static rt_thread_t led3_thread = RT_NULL; static rt_thread_t led4_thread = RT_NULL; static void led1_thread_entry(void *parameter) { while(1) { GPIO_ResetBits(GPIOC, LED1_PIN); rt_thread_delay(100); GPIO_SetBits(GPIOC, LED1_PIN); rt_thread_delay(100); } } static void led2_thread_entry(void *parameter) { while(1) { GPIO_ResetBits(GPIOC, LED2_PIN); rt_thread_delay(200); GPIO_SetBits(GPIOC, LED2_PIN); rt_thread_delay(200); } } static void led3_thread_entry(void *parameter) { while(1) { GPIO_ResetBits(GPIOC, LED3_PIN); rt_thread_delay(300); GPIO_SetBits(GPIOC, LED3_PIN); rt_thread_delay(300); } } static void led4_thread_entry(void *parameter) { while(1) { GPIO_ResetBits(GPIOC, LED4_PIN); rt_thread_delay(400); GPIO_SetBits(GPIOC, LED4_PIN); rt_thread_delay(400); } } void rt_init_thread_entry(void* parameter) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = LED1_PIN | LED2_PIN | LED3_PIN | LED4_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); led1_thread = rt_thread_create("led1", led1_thread_entry, RT_NULL, 512, 20, 5); if(led1_thread != RT_NULL) { rt_thread_startup(led1_thread); } led2_thread = rt_thread_create("led2", led2_thread_entry, RT_NULL, 512, 20, 5); if(led2_thread != RT_NULL) { rt_thread_startup(led2_thread); } led3_thread = rt_thread_create("led3", led3_thread_entry, RT_NULL, 512, 20, 5); if(led3_thread != RT_NULL) { rt_thread_startup(led3_thread); } led4_thread = rt_thread_create("led4", led4_thread_entry, RT_NULL, 512, 20, 5); if(led4_thread != RT_NULL) { rt_thread_startup(led4_thread); } while(1) { rt_thread_delay(1000); } } ``` 这段代码实现了四个LED灯的流水效果,每个LED灯的流水速度不同,通过四个线程来控制每个LED灯的流水效果,每个线程通过调用rt_thread_delay函数来控制流水速度。主线程只是用来启动四个LED灯的线程,然后进入一个无限循环等待。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZRob

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值