初学RT_Thread,有幸获得了一块ART_PI开发板(参加RT_Thread的活动),那么既然获得了就好好的搞上一搞.
既然要学习一个开发板,自然从点灯开始。
因为RT_Thread的官方文档做的非常详细,我这里就简单的列出代码,加以简单的解释。详细的东西大家去官网看,以后文档都是这个样子。
一、硬件介绍
我使用的是扩展板上的LED,原理图如下:
二、原理讲解
从原理图可以看出,当我们给GPIO引脚低电平的时候,发光二极管导通。
三、代码
1.头文件
/*
* Copyright (c) 2006-2020, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2021-02-11 冷月枫 the first version
*/
#ifndef APPLICATIONS_LED_LED_H_
#define APPLICATIONS_LED_LED_H_
#define LED2_PIN GET_PIN(H, 12) // 扩展板LED2
#define LED3_PIN GET_PIN(H, 11) // 扩展板LED3
#define LED4_PIN GET_PIN(G, 13) // 扩展板LED4
/* 按键亮灭 */
#define LED3_ONOFF(x) rt_pin_write(LED3_PIN,x) // 控制LED3的亮灭
void LED_init(); // LED初始化
void LED_reversal(); // LED反转
#endif /* APPLICATIONS_LED_LED_H_ */
2.源文件
/*
* Copyright (c) 2006-2020, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2021-02-11 冷月枫 the first version
*/
/* #include <rtdevice.h>
#include "drv_common.h" 这两个头文件是GPIO使用的 */
#include "LED.h"
#include <rtdevice.h>
#include "drv_common.h"
void LED_init()
{
rt_pin_mode(LED2_PIN, PIN_MODE_OUTPUT); // 配置为输出模式
rt_pin_mode(LED3_PIN, PIN_MODE_OUTPUT); // 配置为输出模式
rt_pin_mode(LED4_PIN, PIN_MODE_OUTPUT); // 配置为输出模式
/* 关闭所有的灯 */
rt_pin_write(LED2_PIN, 1);
rt_pin_write(LED3_PIN, 1);
rt_pin_write(LED4_PIN, 1);
}
/* LED反转 */
void LED_reversal()
{
rt_pin_write(LED2_PIN, 0);
rt_thread_mdelay(1000);
rt_pin_write(LED2_PIN, 1);
rt_thread_mdelay(1000);
}
四、效果
可以看到最下面的小灯已经被点亮