引脚初始化
//引脚初始化
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12);//选择GPIO12
GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);//GPIO12为高 LED
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U, FUNC_GPIO13);//选择GPIO13
GPIO_OUTPUT_SET(GPIO_ID_PIN(13), 1);//GPIO13为高 LED
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U,FUNC_GPIO14);//选择GPIO2
GPIO_DIS_OUTPUT(GPIO_ID_PIN(14)) ; // 设置GPIO2为输入
打印
//打印printf
os_printf("\n ## HELLO WORLD ## \n\n");
//whlie(1)循环,查询按钮
while(1)
{
system_soft_wdt_feed();//这里我们喂下看门狗 ,不让看门狗复位
if(GPIO_INPUT_GET(GPIO_ID_PIN(14))==0x00)//读取GPIO14的值,按键按下为0
{
delay_ms(20); //延时20MS,去抖
if(GPIO_INPUT_GET(GPIO_ID_PIN(14))==0x00)
{
os_printf("Button_Down\n");
bz++;
if(bz==2)bz=0;
if(bz==1)GPIO_OUTPUT_SET(GPIO_ID_PIN(13), 0); //GPIO13为低
if(bz==0)GPIO_OUTPUT_SET(GPIO_ID_PIN(13), 1); //GPIO13为高
while(GPIO_INPUT_GET(GPIO_ID_PIN(14))==0x00); //等待按键释放
//此步会导致长时间按无法喂狗,然后重启。
}
}
}
将smart_config文件夹从examples中复制出来。然后用这个demo进行编译。
效果,按下按钮,一盏灯改变状态。