STM32使用rtthread studio内Cubemx开发

先在官网下载rtthread studio后进入,点击Alt+shift+N或者点击左上角文件--->新建--->RT-Thread项目,第一次使用需要点击基于开发板开发进去下载芯片

点击下面的开发板,有个添加更多进入下载页面

往下滑找到你要的芯片,

勾选,再往下滑找到你的下载器

勾选,点击安装资源包等待下载完成

完成后点击右下角退出SDK管理器,然后重复开头步骤新建项目

选择自己的厂商和芯片即可,点击完成,然后打开刚刚创建的文件夹下的application下的main.c,然后点击上面的锤子进行编译

现在即可使用rtthread进行编写代码了,不过这个studio内部集成了cubemx可以直接使用,前提是你电脑里必须也有cubemx软件,否则可能报错,点击根目录下单cubemx setting图标,双击即可

先对系统时钟进行配置,这一步很重要,因为rtt默认使用内部HSI时钟

这里选择PB2推挽输出配置板载LED进行验证,你可以根据自己的开发板进行配置

然后是时钟树,我的是8M晶振,168M主频

然后配置项目输出,完成后点击右上角GENERATE CONDE生成代码

回到studio后重新编译项目会报一堆错误,后续一步一步解决

找到cubmx下的main函数,复制时钟配置这一段

黏贴到rtt的drv时钟配置文件内INIT_BOARD_EXPORT(clock_information);这一行下方

注释掉这一行

再次编译就只剩三个报错,现在我们需要把cubemx生成的初始化配置放到我们自己的main中

gpio头文件也复制过来,后续有别的外设也是这样操作,然后把cubemx下的main排除构建

然后跟着一步一步做就行

然后我们到src目录下可以看到gpio.c没有加入编译,右击->资源配置->添加构建,后续其他有文件缺失都可以到这里添加构建

回到main函数添加如下代码,这里是创建了一个线程实现了led闪烁,如果你引脚跟我不同需要修改#define LED GET_PIN(B,2)即可,PA3就改成#define LED GET_PIN(A,3)

复制代码
/*
 * Copyright (c) 2006-2026, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2026-08-11     RT-Thread    first version
 */

#include <rtthread.h>

#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
#include "gpio.h"
#include "rtdevice.h"
#include "board.h"
#define LED GET_PIN(B,2)
void led_task(void * parameter)
{
    while(1)
    {
        rt_pin_write(LED, PIN_HIGH);
        rt_thread_mdelay(1000);
        rt_pin_write(LED, PIN_LOW);
        rt_thread_mdelay(1000);
    }
}
int main(void)
{
    MX_GPIO_Init();
    rt_pin_mode(LED, PIN_MODE_OUTPUT);
    rt_pin_write(LED, PIN_HIGH);
    rt_thread_t led_ret=rt_thread_create("led_task", led_task, RT_NULL, 256, 10, 10);
    if(led_ret!=RT_NULL)
    {
        rt_thread_startup(led_ret);
        LOG_I("led thread start ok");
    }
    else
    {
        LOG_E("thread create fail");
    }
    return RT_EOK;
}

然后构建下载,下载箭头那可以选择烧录器,烧录后led可以正常闪烁,如果后续你加入其他外设,需要到cubemx的main.h中注释掉void Error_Handler(void);

相关推荐
辰哥单片机设计2 小时前
STM32档案室环境监测系统(机智云版)
stm32·单片机·嵌入式硬件
emdoorrugged2 小时前
产线数字化管理三防平板怎么选品牌?不同场景推荐不同厂家
单片机·嵌入式硬件
Hello_Damon_Nikola2 小时前
SS6285L从入门到精通
单片机·嵌入式硬件
雾削木3 小时前
STM32 HAL + FreeRTOS(CMSIS-RTOS V1)完整开发攻略
stm32·单片机·嵌入式硬件
wuyk55511 小时前
第2章:六步换相原理全解+STM32工程实战
c语言·开发语言·stm32·单片机·嵌入式硬件
小僧景贤16 小时前
单片机全方位调试实战指南:串口/RTT/逻辑分析仪/示波器/内核排错分层避坑教程
单片机·嵌入式硬件·物联网
2401_8275012820 小时前
【无标题】
arm开发·嵌入式硬件
LeoZY_20 小时前
LinkScope 使用笔记:基于 OpenOCD 的通用硬件芯片调试助手
笔记·单片机·嵌入式硬件·开源软件
星空真迷人1 天前
嵌入式鸿蒙并非精简版,核心究竟是什么?
stm32·单片机·嵌入式硬件·物联网·华为·harmonyos·iot