硬件原理图
GPIO5_1默认是低电平按下之后是高电平
按键控制程序代码(主要学会看数据手册):
裸机程序控制外设
include “common.h” //包含SDK的两个头文件
/按键初始化函数/
void button_init(void)
{
/(1)按键初始化 使能时钟/
CCM->CCGR1 = 0xffffffff;
GPIO1、GPIO5是通过时钟CCGR1进行使能
/*(2)(3)设置 绿灯 引脚的复用功能以及PAD属性*/
IOMUXC_SetPinMux(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01,0);
IOMUXC_SetPinConfig(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01, 0x10B0);
//此处参考汇编语言点亮led灯 第74讲(2)(3)
/*(4)设置GPIO5_01为输入模式 只有输入模式*/
GPIO5->GDIR &= ~(1<<1);
}
/按键状态输出函数/
int get_button_status(void)
{
if((GPIO5->DR)&(1<<1))
{
delay(0xFF);
if((GPIO5->DR)&(1<<1))
{
return 1;
}
}
return 0;
}
特点:读数据手册、设寄存器值
- 找出外设有哪些相关寄存器
- 找出外设相关寄存器如何设置
程序实现
按键控制led亮灭