前面章节我们只介绍了GPIO的输出功能,这一节我们介绍输入功能,通过KEY按键的输入控制蜂鸣器响。
一.硬件原理图
可以看到只有key0贴片了,管脚为UART1_CTS。当没有按下时,管脚状态为高,按下时,管脚状态为低。
二.配置GPIO
下面的数据都是通过芯片手册查到的。
1.配置时钟。为了方便起见,我们将所有的时钟全部打开。
2.配置复用功能,IOMUXC_SW_MUX_CTL_PAD_UART1_CTS_B寄存器设置为0x5,即标准IO GPIO1_IO18 。
3.配置电器属性,IOMUXC_SW_PAD_CTL_PAD_UART1_CTS_B寄存器设置为0xf040
4.配置输入输出。GPIO1_GDIR为&~(1<<19),读取GPIO1_DR的值。
三.编写代码
bsp_key.c
#include "bsp_key.h"
void key_init(void){
IOMUXC_SetPinMux(IOMUXC_UART1_CTS_B_GPIO1_IO18 ,0);
IOMUXC_SetPinConfig(IOMUXC_UART1_CTS_B_GPIO1_IO18,0xf040)