电路图
LED电路
板子有两个自主控制的LED,为绿色,通过上拉方式接入GPIO
按键引脚图
MCU_USER_LED1对应P0.0
MCU_USER_LED2对应P0.1
程序设计
以下程序用于循环控制两个LED灯亮灭,延时间隔为500ms
#include <rtthread.h>
#include <rtdevice.h>
#include "drv_gpio.h"
#define LED_PIN0 GET_PIN(0, 0)
#define LED_PIN1 GET_PIN(0, 1)
void func()
{
int delay = 500;
rt_pin_mode(LED_PIN0, PIN_MODE_OUTPUT);
rt_pin_mode(LED_PIN1, PIN_MODE_OUTPUT);
for (;;)
{
rt_pin_write(LED_PIN0, PIN_HIGH);
rt_pin_write(LED_PIN1, PIN_HIGH);
rt_thread_mdelay(delay);
rt_pin_write(LED_PIN0, PIN_LOW);
rt_pin_write(LED_PIN1, PIN_LOW);
rt_thread_mdelay(delay);
}
}
int main(void)
{
func();
return 0;
}
GET_PIN
宏是HAL_Drivers中一个用于访问指定编号GPIO口的宏,在头文件drv_gpio.h
中
rt_pin_mode
是RT-Thread提供的引脚模式设置接口
rt_pin_write
是RT-Thread提供的引脚高低电平设置接口
rt_thread_mdelay
是RT-Thread提供的延时函数,精度为ms
实验效果
可以看到两个LED灯被间隔500ms点亮,一闪一闪的效果
标签:rt,LED,PIN,pin,开发板,write,PIN1,PSoc62 From: https://blog.51cto.com/hywing/8945712