RT-Thread Studio开发环境搭建

新建项目

新建项目可以参考官方教程:上链接

本系列文章都是基于芯片创建RT-Thread项目,即使用RT_Thread标准版本
在这里插入图片描述
使用的环境如下:

  1. RT-Thread版本4.0.3
  2. 芯片支持包版本0.2.2
  3. RT-Thread Studio版本2.2.9

构建项目报错原因与解决

  1. RT-Thread的STM32F4开发新建工程出现error: ‘struct serial_configure‘ has no member named ‘flowcontrol‘报错解决

使用外部时钟晶振

在这里插入图片描述
按照提示,修改drv_clk.c这个文件。

  1. 修改drivers\stm32f4xx_hal_conf.h文件,HSE_VALUE的值设置为你外部晶振的实际频率,我的是8MHz,即为8000000,代码修改如下:
    在这里插入图片描述
#if !defined  (HSE_VALUE) 
  #define HSE_VALUE    ((uint32_t)8000000U) /*!< Value of the External oscillator in Hz */
#endif /* HSE_VALUE */
  1. 修改drivers\drv_clk.c
void system_clock_config(int target_freq_mhz)
{
    RCC_OscInitTypeDef RCC_OscInitStruct = { 0 };
    RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 };

    /** Configure the main internal regulator output voltage
     */
    __HAL_RCC_PWR_CLK_ENABLE();
    __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
    /** Initializes the CPU, AHB and APB busses clocks
     */
    RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
    RCC_OscInitStruct.HSEState = RCC_HSE_ON;//注意
    RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
    RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
    RCC_OscInitStruct.PLL.PLLM = 4;
    RCC_OscInitStruct.PLL.PLLN = target_freq_mhz;//默认168MHz
    RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
    RCC_OscInitStruct.PLL.PLLQ = 4;
    if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
    {
        Error_Handler();
    }
    /** Initializes the CPU, AHB and APB busses clocks
     */
    RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
    RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
    RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
    RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
    RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;

    if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK)
    {
        Error_Handler();
    }
}

具体代码可以使用STM32CubeMX配置好并生成代码,然后复制到system_clock_config函数内。

构建代码并验证

  1. 修改applications\main.c文件,如下:
/*
 * Copyright (c) 2006-2025, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2025-11-09     RT-Thread    first version
 */

#include <rtthread.h>
#include <stm32f4xx.h>

#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>

int main(void)
{
    int count = 1;

    while (count++)
    {
        LOG_D("Hello RT-Thread!");
        rt_thread_mdelay(1000);
        if (count > 10) {
            //打印时钟信息
            LOG_D("System Clock information");
            LOG_D("SYSCLK_Frequency = %d", HAL_RCC_GetSysClockFreq());
            LOG_D("HCLK_Frequency   = %d", HAL_RCC_GetHCLKFreq());
            LOG_D("PCLK1_Frequency  = %d", HAL_RCC_GetPCLK1Freq());
            LOG_D("PCLK2_Frequency  = %d", HAL_RCC_GetPCLK2Freq());
            break;
        }
    }

    return RT_EOK;
}

  1. 构建代码
  2. 下载到stm中
  3. 运行效果如下:
    在这里插入图片描述
    串口终端的使用,可以参考官方教程

2026年2月3日更新

使用STM32CubeMX配置STM外设

修改使用环境如下:

  1. RT-Thread版本4.1.1
  2. 芯片支持包版本0.2.3
  3. RT-Thread Studio版本2.2.9

1.新建项目后,双击打开CubeMX Settings

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

选择STM32CubeMX.exe的安装路径,点击OK,打开CubeMX软件界面。

2.硬件配置

(1)开启外部高速晶振

在这里插入图片描述
(2)配置时钟树
在这里插入图片描述
(3)配置调试接口
在这里插入图片描述
(4)开启串口1
在这里插入图片描述

3.生成硬件初始化代码

在这里插入图片描述
点击GENERATE CODE生成代码。
在这里插入图片描述
直接点击Close
关闭CubeMX软件,回到RT-Thread Studio,会弹出提示。
在这里插入图片描述
点击确定按钮。

配置打印浮点数

int main(void)
{
    int count = 1;
    float pi = 3.1415926;

    while (count++)
    {
        LOG_D("Hello RT-Thread!");
        rt_kprintf("pi = %.4f\n", pi);
        rt_thread_mdelay(1000);
    }

    return RT_EOK;
}

输出结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加上面的软件包到工程,点击保存,点击重新编译:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值