TQ210裸机编程——按键点灯

   

     今天来谈谈裸机编程的步骤:

     1、 首先查看TQ210的底板原理图:

这次编程只操作KEY1KEY2,在TQ210核心板原理图中搜索XEINT0

可以看出KEY1KEY2分别接在S5PV210GPH0_0GPH0_1引脚。

这次编程使用查询法,需要设置这两个引脚为输入模式,然后循环读取引脚状态,当用户按下按键时,对应引脚为低电平,同时改变LED状态。

 

查看S5PV210芯片手册

由此,我们根据查询法,写出代码如下:

#define GPC0CON		*((volatile unsigned int *)0xE0200060)
#define GPC0DAT		*((volatile unsigned int *)0xE0200064)

#define GPH0CON		*((volatile unsigned int *)0xE0200C00)
#define GPH0DAT		*((volatile unsigned int *)0xE0200C04)

void delay(volatile unsigned int t)
{
	volatile unsigned int t2 = 0xFFFF;
	while (t--)
		for (; t2; t2--);
}

int main()
{
	int key_val = 0;
	int bit;
	GPC0CON &= ~(0xFF << 12);
	GPC0CON |= 0x11 << 12;		// 配置GPC0_3和GPC0_4为输出:LED1和LED2
	
	GPH0CON &= ~(0xFF << 0);	// 配置GPH0_0和GPH0_1为输入:key1和key2
	
	while (1)
	{
		key_val = GPH0DAT & 0x3;
		if (key_val)
		{
			delay(500000);		// 防抖延时
			key_val = GPH0DAT & 0x3;
			
			if (key_val)
			{
				if (0x01 == key_val)		// key1
					GPC0DAT ^= 1 << 3;		// toggle LED1
				else if (0x02 == key_val)	// key2
					GPC0DAT ^= 1 << 4;		// toggle LED2
			}
		}
	}
	
	return 0;
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值