RT-Thread开发之路(1)— 新建工程,点亮第一个LED

RT-Thread开发之路(1)— 新建工程,点亮第一个LED

硬件基于BearPi-STM32L431开发板,开发环境选择RT-Thread Studio。

一、新建工程

打开RT-Thread Studio,新建一个RT-Thread项目,选择基于芯片,然后芯片选为STM32L431RCTx,调试器选择ST-LINK,然后给工程起一个名字,例如,我这里输入IoT,然后点击完成,等待工程新建完成
RT-Thread开发之路(1)— 新建工程,点亮第一个LED_第1张图片
我们点击【项目】->【属性】,将编码格式改为“UTF-8”,点击应用并关闭
RT-Thread开发之路(1)— 新建工程,点亮第一个LED_第2张图片
然后我们打开board.c,文件,可以看到,新建工程后默认使用的是内部高速时钟,RT-Thread开发之路(1)— 新建工程,点亮第一个LED_第3张图片
我们要将其改为外部高速时钟,潘多拉开发板上连接了8MHz的外部晶振,修改代码如下

  /** Initializes the CPU, AHB and APB busses clocks 
  */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
  RCC_OscInitStruct.HSEState = RCC_HSE_ON;
  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  RCC_OscInitStruct.PLL.PLLM = 1;
  RCC_OscInitStruct.PLL.PLLN = 20;
  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV7;
  RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2;
  RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;

然后我们点击构建按钮,开始编译,等待编译成功:
RT-Thread开发之路(1)— 新建工程,点亮第一个LED_第4张图片

二、打印Hello horld!

我们在main.c中的main()函数中添加打印代码

	 rt_kprintf("Hello world! \n");

RT-Thread开发之路(1)— 新建工程,点亮第一个LED_第5张图片
然后编译下载,打开串口终端,可以看到输出了“Hello World”,
RT-Thread开发之路(1)— 新建工程,点亮第一个LED_第6张图片

三、LED闪烁

将main.c文件修改为:

#include 
#include 
#include 

#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include 

/* 获取LED引脚对应的编号 */
#define LED0_PIN    GET_PIN(C, 13)

int main(void)
{
    int count = 1;
    /* set LED0 pin mode to output */
    rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);

    rt_kprintf("Hello world! \n");

    while (count++)
    {
        /* set LED0 pin level to high or low */
        rt_pin_write(LED0_PIN, count % 2);
        rt_thread_mdelay(1000);
    }

    return RT_EOK;
}

编译,下载,运行,可以看到LED在闪烁

你可能感兴趣的:(RT-Thread)