【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联合创建项目

相关推荐
新子y30 分钟前
【小白笔记】岛屿数量
笔记·python
Larry_Yanan36 分钟前
QML学习笔记(四十三)QML与C++交互:上下文属性暴露
c++·笔记·qt·学习·ui·交互
hazy1k1 小时前
51单片机基础-独立按键
stm32·单片机·嵌入式硬件·51单片机
新子y1 小时前
【小白笔记】岛屿的周长(Island Perimeter)
笔记·python
霜绛1 小时前
Unity:UGUI笔记(一)——三大基础控件、组合控件
笔记·学习·unity·游戏引擎
代码or搬砖2 小时前
Git学习笔记(三)
笔记·git·学习
阿维的博客日记2 小时前
Redis学习笔记-QuickList
redis·笔记·学习
文火冰糖的硅基工坊2 小时前
[创业之路-702]:“第三次”与“第四次工业革命”的范式跃迁
大数据·人工智能·科技·嵌入式硬件·架构·嵌入式·gpu
清风6666663 小时前
基于单片机的智能水瓶温度控制系统
单片机·嵌入式硬件·毕业设计·课程设计
沐欣工作室_lvyiyi3 小时前
基于单片机的 220v车载逆变电源的设计与制作(论文+图纸)
stm32·单片机·车载逆变器·12v到220v