按键输入实验

一、硬件原理图分析。


按键 KEYO 链接到了 UART1_CTS 引脚上。默认情况下 UART1_CTS 为高,当按下 KEYO
以后 UART1_CTS 为低。
·二、实验程序编写
1、设置 UART1_CTS 复用为 GPIO1_I018。

IOMUXC_SetPinMux(IOMUXC_UART1_CTS_B_GPIO1_IO18,0);

IOMUXC_SetPinConfig(IOMUXC_UART1_CTS_B_GPIO1_IO18,0xF080);

2、设置 UART1_CTS 的电气属性。
3、配置 GPIO1_IO08 为输入模式。

GPIO1->GDIR &= ~(1 << 18);
4、读取按键值,也就是 GPIO1_1018 的高低电平。

int read_key(void){
int ret=0;
ret =((GPIO1->DR)>>18)&0X1;
return ret;
}

int key_getvalue(void)
{
	int ret = 0;
	static unsigned char release = 1; /* 按键松开 */ 

	if((release==1)&&(read_key() == 0)) 		/* KEY0 	*/
	{	
		delay(10);		
		release = 0;	
		if(read_key()== 0)
			ret = KEY0_VALUE;
	}
	else if(readkey() == 1)
	{
		ret = 0;
		release = 1; 	
	}

	return ret;	
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值