打印
[DemoCode下载]

NuTiny-SDK-NUC029SGE开发板按钮与点灯

[复制链接]
121|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dongnanxibei|  楼主 | 2025-1-7 18:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* SPDX-License-Identifier: Apache-2.0                                                                     */
/* Copyright(c) 2020 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  File Function: ML51 GPIO toggle demo code
//***********************************************************************************************************
#include "ml51.h"


//----------------------------------------------------------------------------------------------//
void led_init(void)
{
        //根据原理图,P0.3的LED低电平点亮,因此采用下面三种模式均可实现拉低到地的点亮
//        GPIO_SetMode(Port0,SET_BIT3,GPIO_MODE_PUSHPULL);
//        GPIO_SetMode(Port0,SET_BIT3,GPIO_MODE_OPENDRAIN);
        GPIO_SetMode(Port0,SET_BIT3,GPIO_MODE_QUASI);
}

void led_on(void)
{
        P03=0;//根据原理图LED在P0.3引脚,为低电平点亮
}

void led_off(void)
{
        P03=1;//根据原理图LED在P0.3引脚,为高电平点亮
}

void button_init(void)
{
        //按钮假设采用开发板14引脚的P2.3引脚,则需要配置为输入模式,并使能内部上拉电阻。
        GPIO_SetMode(Port2,SET_BIT3,GPIO_MODE_INPUT);
        GPIO_Pull_Enable(Port2,SET_BIT3,PULLUP);
}
void main (void)
{
        led_init();
        button_init();
  while(1)
  {
                if(P2&SET_BIT3)//如果没有按下按钮,则闪烁led
                {
                        led_on();
                        Timer2_Delay(24000000,4,200,1000);
                        led_off();
                        Timer2_Delay(24000000,4,200,1000);
                }
                else  //否则按下按钮时候熄灭led
                {
                        led_off();
                }               
  }
}



学习了一天,写的测试程序,非常奈斯。这个板子真不错。

使用特权

评论回复
沙发
dongnanxibei|  楼主 | 2025-1-7 18:21 | 只看该作者
那个LED的三种模式均可以,不知道三种模式下哪种更优,大佬出来讲讲了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

209

主题

3650

帖子

16

粉丝