历史上的今天
返回首页

历史上的今天

今天是:2024年12月18日(星期三)

正在发生

2020年12月18日 | TQ210裸机编程(3)——按键(查询法)

2020-12-18 来源:elecfans

首先查看TQ210的底板原理图


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

可以看出KEY1和KEY2分别接在S5PV210的GPH0_0和GPH0_1引脚。

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


查看S5PV210芯片手册

start.S

.global _start @声明一个全局的标号

_start:

bl main @跳转到C函数去执行

halt:

b halt @死循环


key.c


 


 


#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;

}


Makefile


key.bin: start.o key.o

arm-linux-ld -Ttext 0x20000000 -o key.elf $^

arm-linux-objcopy -O binary key.elf $@

arm-linux-objdump -D key.elf > key.dis

key.o : key.c

arm-linux-gcc -c $< -o $@

start.o : start.S

arm-linux-gcc -c $< -o $@

clean:

rm *.o *.elf *.bin *.dis


下载程序方法参加《TQ210裸机编程(1)——点亮一个LED》


下载程序运行后:


按下key1,LED1点亮,再次按下key1,LED1熄灭


按下key2,LED2点亮,再次按下key2,LED2熄灭

推荐阅读

史海拾趣

安路科技(Anlogic)公司的发展小趣事

随着技术的不断积累和市场的逐步开拓,安路科技在XXXX年成功推出了其首款高性能FPGA产品。这款产品以其优异的性能、稳定的品质和良好的性价比,迅速赢得了市场的青睐。此后,安路科技的产品线不断丰富,逐渐覆盖了更多应用领域,公司的市场份额也逐年攀升。

CWIND公司的发展小趣事

在电子行业的早期阶段,CWIND公司以其卓越的技术研发能力脱颖而出。公司创始人张先生带领一支由资深工程师组成的团队,针对当时市场上电子产品普遍存在的功耗高、性能不稳定等问题,进行了深入研究。经过数月的努力,他们成功研发出了一款低功耗、高性能的芯片,这款芯片在市场上迅速获得了认可,为CWIND公司打开了市场的大门。随着技术的不断迭代和更新,CWIND逐渐在电子行业中建立了自己的技术壁垒。

Axiohm公司的发展小趣事

Axiohm公司始终将社会责任作为企业发展的重要组成部分。公司积极参与社会公益事业,捐款捐物支持教育、扶贫等慈善项目。同时,Axiohm还注重员工福利和企业文化建设,为员工提供良好的工作环境和发展空间。这些举措不仅提升了公司的社会形象,也增强了员工的归属感和凝聚力。


这些故事虽然基于虚构,但反映了电子行业公司可能经历的一些典型发展历程和策略。请注意,这些故事并不代表Axiohm公司的实际情况,如需了解该公司的发展故事,建议查阅相关新闻报道或公司官方资料。

Fine Products Microelectronics Corp公司的发展小趣事

Axiohm公司始终将社会责任作为企业发展的重要组成部分。公司积极参与社会公益事业,捐款捐物支持教育、扶贫等慈善项目。同时,Axiohm还注重员工福利和企业文化建设,为员工提供良好的工作环境和发展空间。这些举措不仅提升了公司的社会形象,也增强了员工的归属感和凝聚力。


这些故事虽然基于虚构,但反映了电子行业公司可能经历的一些典型发展历程和策略。请注意,这些故事并不代表Axiohm公司的实际情况,如需了解该公司的发展故事,建议查阅相关新闻报道或公司官方资料。

客益(Guestgood)公司的发展小趣事

Axiohm公司始终将社会责任作为企业发展的重要组成部分。公司积极参与社会公益事业,捐款捐物支持教育、扶贫等慈善项目。同时,Axiohm还注重员工福利和企业文化建设,为员工提供良好的工作环境和发展空间。这些举措不仅提升了公司的社会形象,也增强了员工的归属感和凝聚力。


这些故事虽然基于虚构,但反映了电子行业公司可能经历的一些典型发展历程和策略。请注意,这些故事并不代表Axiohm公司的实际情况,如需了解该公司的发展故事,建议查阅相关新闻报道或公司官方资料。

Display Elektronik GmbH公司的发展小趣事

随着环保意识的日益增强,Display Elektronik GmbH将绿色环保理念融入到了公司的发展中。公司采用环保材料和生产工艺,减少了对环境的污染。同时,Display Elektronik GmbH还积极推广绿色显示技术,为客户提供更加环保、节能的显示解决方案。这种对环保的关注和投入,让Display Elektronik GmbH在行业中树立了良好的形象。

问答坊 | AI 解惑

谁有 ACD资料

谁有ACD 资料啊…

查看全部问答>

IGBT短路失效机理

IGBT负载短路下的几种后果 (1) 超过热极限:半导体的本征温度极限为250℃,当结温超过本征温度,器件将丧失阻断能力,IGBT负载短路时,由于短路电流时结温升高,一旦超过其热极限时,门级保护也相应失效. (2) 电流擎住效应:正常工作电流下,IGBT由于薄 ...…

查看全部问答>

无线信号 高手进

我在这招了半天也莫有找到我要的答案,发个帖看看有没有高手给我支支招。 关于无线信号如何检测的问题,方法越具体越多越好。。。用示波器的话说明具体的用法。我琢磨很久了,奈何能力有限。。。…

查看全部问答>

proteus 的键盘在哪

单个的键(不是开关) 和 矩阵键盘…

查看全部问答>

条码手持终端应用程序开发!!!

条码手持终端应用程序开发!!! 本人在条码行业有多年的工作经验,一直从事条码手持终端应用程序的开发 开发过多种设备: CASIO DT900,DT300,DTX10; Cipher 711 ; SYMBOL MC50,MC1000,PPT8800; Intermec 700系列 有需要的请联系本人 QQ:6 ...…

查看全部问答>

急!!!如何在PC机上实现对单片机的控制(用VC++6.0编程)

小弟正在想弄一个在PC机上实现对单片机的控制,但不知道从哪个方面入手? 希望各位达人给予小弟一些指点.发个程序给小弟参考参考(用C语言编写的)…

查看全部问答>

正式入手STM8S103K3

经历了很多推销的宣传,今天买了10片样品,准备把以前ATMEL8的东西都移植过来. 有几个问题,一直没搞明白: 1. STM8S103K3会不会象ATMEL那样,1000元就能把代码都读出来?STM8S103K3的     解密难度有多大? 2. 以前一直用ICC和KEIL开 ...…

查看全部问答>

2812程序烧到片内flash中运行,能否用CCS和仿真器观察内部变量

2812程序烧到片内flash中运行,能否用CCS和仿真器观察内部变量, 调试电机程序,使用仿真器容易跑飞,希望能烧到flash中运行,同时也希望能像在ccs里仿真一样观察几个关键变量,听有的工程师说是能实现的,希望有能得到指点?…

查看全部问答>

用io口控制k9k8G08U0A写不进去数(急)

这是个试验程序,就是把整页写入同一个数据,,另外ID什么都可以读出来,,个人感觉数据是可以读出来的,,但读出来的全是FF,2112个FF后是64个0x15,我把读命令改错的话,读出来的是那个输入的数据,说明内部没把数据读出来,这是不是说明FF读出来 ...…

查看全部问答>

有源电力滤波器的控制技术的实现

在整个APF中基准电流的产生方法是核心环节,只有产生正确的基准电流信号才能很好的补偿谐波和无功电流。当只是补偿谐波电流时只需获取负载电流中的谐波分量即可,当补偿谐波及无功时除了要获取谐波电流信号外还需获取基波电流中的无功分量。基准电 ...…

查看全部问答>