开发环境:RT-Thread Studio,STM32CubeMX

1.创建工程


使用RT-Thread Studio创建一个新的RT-Thread工程文件,根据你的需求创建工程文件,选择你的工程名和工作区,芯片以及你的调试方式,我这里按照我自己的需求来设置。完成后可以来编译你的工程项目来试试看。此时你创建的工程项目就可以实现串口打印RT-Thread的日志信息了。


2.工程配置


工程创建完毕之后呢,这边我们习惯使用STM32CubeMX-HAL库来编写相关外设驱动的同学,就可以通过STM32CubeMX工具来进行引脚外设配置了。

点击浏览到你的STM32CubeMX的安装文件,选中之后点击确定。就会打开你的STM32CubeMX。到此就可以按照裸机开发STM32的方法来进行开发了,后续配置,我这里不再进行赘述。工程管理这里输出为MKD-ARM。后续我会出相关的教程,大家也可以上网自行搜索。


注意!!!输出这里选这些。生成工程完毕后,关闭STM32CubeMX。RT-Thread Studio出现提示信息,点击确定。


3.程序编写和修改


主程序文件

#include <rtthread.h>
#include "main.h"

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

int main(void)
{
    int count = 1;
    MX_GPIO_Init();
    MX_USART1_UART_Init();
    while (count++)
    {
        LOG_D("Hello RT-Thread!");
        rt_thread_mdelay(1000);
        HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
        rt_thread_mdelay(500);
        HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
        rt_thread_mdelay(500);
    }

    return RT_EOK;
}

在workspace\tempalte01\cubemx\Src\main.c中修改外设的初始化函数,将static修饰符去掉,将初始化函数声明移到main.h中至此全部工作完成,编译后没有问题。
 

#ifndef __MAIN_H
#define __MAIN_H

#ifdef __cplusplus
extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "stm32f1xx_hal.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */

/* USER CODE END Includes */

/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */

/* USER CODE END ET */

/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */

/* USER CODE END EC */

/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */

/* USER CODE END EM */

/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);
void MX_GPIO_Init(void);
void MX_USART1_UART_Init(void);
/* USER CODE BEGIN EFP */

/* USER CODE END EFP */

/* Private defines -----------------------------------------------------------*/

/* USER CODE BEGIN Private defines */

/* USER CODE END Private defines */

#ifdef __cplusplus
}
#endif

4.最终运行结果


RT-Thread操作系统成功运行在STM32F103C8T6中,可使用RT-Thread内部函数和HAL库函数联合开发。运行结果如下:同时可以看到发现PC13引脚电平发生反转。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐