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);

相关推荐
AOI小白新手上路21 小时前
江科协51单片机 17-2 红外遥控电机调速实验调试总结
单片机·嵌入式硬件·51单片机
oshan20121 天前
零基础STM32入门教程--10-PWM 呼吸灯
stm32·单片机·嵌入式硬件
记帖1 天前
STM32C5A3R开发(7)----ADC电压采集
嵌入式硬件·adc·dac·stm32cubeide·stm32c5·stm32cubemx2·stm32c5a3rgt6
自小吃多1 天前
器件移动、旋转、镜像、对齐、等间距操作笔记
笔记·嵌入式硬件
jianqiang.xue1 天前
智能体整体架构设计:四大模块与目录组织
单片机·嵌入式硬件·物联网·架构·esp32
Messy create1 天前
【BMS-AFE-温度检测】
stm32·单片机·能源
东莞市永盛电气1 天前
三相208V变380V变压器,出海工业设备供电适配方案
python·单片机·嵌入式硬件
桃蹊、1 天前
串口/网络透传实战:FreeRTOS 多任务架构与连接池设计
stm32·物联网·wifi·freertos
Learn-Share_HY1 天前
[IT Network]如何配置反向路徑過濾器(rp_filter),以解決路由不對稱問題?
linux·嵌入式硬件·物联网·网络协议·tcp/ip·http·iot
深圳市宝华视联1 天前
医院内网部署手术示教系统注意事项
嵌入式硬件·实时互动·音视频·实时音视频·视频编解码·嵌入式实时数据库