PSoc™62开发板之点亮LED

实验目的

点亮开发板上的两个LED,循环亮灭

电路图

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点亮,一闪一闪的效果

阅读剩余
THE END