PSoc62?开发板之点亮LED

2023-12-23 18:53:54

电路图

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

文章来源:https://blog.csdn.net/HeavenMo/article/details/135172023
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。