【stm32笔记】使用rtt-studio与stm32CubeMx联合创建项目

使用rtt-studio与stm32CubeMx联合创建项目

创建rt-thread项目

设置项目信息

在项目资源管理器中"右击",创建RRT studio 项目


双击"RT-Thread 项目"。

选择MCU,设置UART,以及调试方式。添加项目名称,点击"完成"按钮。

代码生成后会在项目资源管理器内生成项目目录。

配置代码生成hex文件

此时代码是可以直接编译的。

编译原始rt-thread项目

第一次编译时出错。

将RT_WEAK void rt_hw_board_init()前的RT_WEAK去掉即可继续编译。

使用CubeMx配置引脚

配置时钟

使用外部时钟。


配置管脚

PA8脚外接一个LED。将PA8脚配置成输出模式。


配置项目信息


不要选择"Generate peripheral initialization as a pair of '.c/.h' file per peripheral"

生成代码

点击"GENERATE CODE",生成代码。

关闭CubeMx

代码生成后,要先关闭CubeMx。

随后rtt-studio会将原先的stm32f4xx_hal_conf.h备份,代码内会引用CubeMx刚刚生成的stm32f4xx_hal_conf.h

排除构建

参与构建的代码

排除构建后的代码目录。

显示被排除构建的代码


排除构建的代码目录上有个斜杆

编译运行


使用外部时钟


说明时钟更改成功。

添加LED控制代码

添加头文件

复制代码
#include "stm32f4xx_hal.h"

管脚定义

复制代码
/* Private defines -----------------------------------------------------------*/
#define led_Pin GPIO_PIN_8
#define led_GPIO_Port GPIOA
#define USART1_TX_Pin GPIO_PIN_9
#define USART1_TX_GPIO_Port GPIOA
#define USART1_RX_Pin GPIO_PIN_10
#define USART1_RX_GPIO_Port GPIOA

管脚初始化

复制代码
/**
  * @brief GPIO Initialization Function
  * @param None
  * @retval None
  */
void MX_GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};
/* USER CODE BEGIN MX_GPIO_Init_1 */
/* USER CODE END MX_GPIO_Init_1 */

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOH_CLK_ENABLE();
  __HAL_RCC_GPIOA_CLK_ENABLE();

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(led_GPIO_Port, led_Pin, GPIO_PIN_RESET);

  /*Configure GPIO pin : led_Pin */
  GPIO_InitStruct.Pin = led_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(led_GPIO_Port, &GPIO_InitStruct);

/* USER CODE BEGIN MX_GPIO_Init_2 */
/* USER CODE END MX_GPIO_Init_2 */
}

修改主函数

复制代码
static void MX_GPIO_Init(void);

int main(void)
{
    int count = 1;
    MX_GPIO_Init();
    while (count++)
    {
        LOG_D("Hello RT-Thread!");
        rt_thread_mdelay(1000);
        HAL_GPIO_WritePin(led_GPIO_Port, led_Pin, count%2);
    }

    return RT_EOK;
}

编译

总结

到此完成使用rtt-studio与stm32CubeMx联合创建项目的任务。

项目代码

使用rtt-studio与stm32CubeMx联合创建项目

相关推荐
czwxkn9 小时前
PCB设计-器件:2.电感
嵌入式硬件
佳木逢钺9 小时前
从零开始:基于STM32H750的硬件设计与软件开发完整流程详解
stm32·单片机·嵌入式硬件
东京老树根10 小时前
SAP学习笔记 - BTP CAP开发06 - Customize Criticality,Map Page,Value help
笔记·学习
AM越.10 小时前
助睿:!!零代码解决!!订单利润分流数据加工o(* ̄▽ ̄*)ブ
数据仓库·笔记·etl·助睿
魔都大虾12 小时前
旧时光里面有那些情话句子 什么比较热门
笔记
Java成神之路-12 小时前
【算法刷题笔记】全题型导航目录
笔记·算法
zhangrelay12 小时前
云课实践速通系列-基础篇汇总-必修-通识基础和专业基础-2026--工科--自动化、电气、机器人、测控等
linux·笔记·单片机·学习·ubuntu·机器人·自动化
05候补工程师12 小时前
【编译原理】自顶向下语法分析深度解析:从 LL(1) 文法判定、改写到预测分析表
经验分享·笔记·考研·自然语言处理
踏着七彩祥云的小丑13 小时前
嵌入式——认识电子元器件——光电器件系列
单片机·嵌入式硬件
羽获飞13 小时前
从零开始学嵌入式之STM32——31.高级定时器
stm32·单片机·嵌入式硬件