历史上的今天
返回首页

历史上的今天

今天是:2025年01月22日(星期三)

正在发生

2020年01月22日 | 【ARM】2440裸机系列-gpio按键控制

2020-01-22 来源:eefocus

功能

    通过GPIO,实现按键1点亮LED1,按键2点亮LED2……


说明

    1)因为2440的按键只涉及行,所以在扫描按键时比2410简单了很多


    2)在进行移位操作之前,必须进行数据寄存器的初始化,否则会出错(硬件特性)


源码

/*****************************************************************************

*****函数名:main()

*****功  能:通过GPIO,实现按键1点亮LED1,按键2点亮LED2

*****说  明:

*****************************************************************************/

#include "2440addr.h"

#define clrbit(var, bit) ((var) &= ~(1 << (bit)))   //把某一位清0

int main (void)

{

         rGPGCON &= (~((3<<22)|(3<<14)|(3<<12)|(3<<10)|(3<<6)|(3<<0))); //设置按键为输入

     rGPGUP   = 0x0;  //GPG上拉使能

     rGPBCON &= (~((3<<16)|(3<<14)|(3<<12)|(3<<10)|(3<<0)));  //LED1~4输出位清零

     rGPBCON |= ((1<<16)|(1<<14)|(1<<12)|(1<<10)|(0<<0)); //设置LED1~4为输出

     rGPBUP   =0x3ff;  //11 1111 1111,GPB上拉禁止

     rGPBDAT=0x3ff; //在进行移位操作之前必须进行数据寄存器的初始化

     while(1)

     {

            if(0==(rGPGDAT & (1<<0))) //GPG0

            {

                clrbit(rGPBDAT, 5); //LED1

            }

            else if(0==(rGPGDAT & (1<<3)))    //GPG3

            {

                clrbit(rGPBDAT, 6); //LED2

            }

            else if(0==(rGPGDAT & (1<<5)))    //GPG5

            {

              clrbit(rGPBDAT, 7);   //LED3

            }

            else if(0==(rGPGDAT & (1<<6)))    //GPG6

            {

              clrbit(rGPBDAT, 8);   //LED4

            }

     }

}

推荐阅读

史海拾趣

ALPS公司的发展小趣事

ALPS公司是一家日本电子制造商,成立于1948年,总部位于东京。以下是关于ALPS公司发展的五个相关故事:

  1. 创立与早期发展:ALPS公司最初成立时,是一家小规模的电子零部件制造商,专注于生产开关和其他电子元器件。在日本战后经济快速复苏的背景下,ALPS公司迅速发展壮大,成为当时日本电子行业的重要参与者之一。

  2. 技术创新与产品多样化:随着时间的推移,ALPS公司不断进行技术创新,扩展其产品线。除了开关和电子元器件外,公司还涉足了汽车电子、通信设备、家电、数字产品等领域,推出了各种多功能的产品,满足不同行业和消费者的需求。

  3. 全球化战略:为了进一步扩大市场份额,ALPS公司实施了全球化战略,逐步在世界各地建立了生产基地和销售网络。公司在亚洲、欧洲、北美等地设立了子公司和分支机构,与当地客户和合作伙伴紧密合作,拓展了国际市场。

  4. 产业布局与战略合作:除了自身产品开发和制造外,ALPS公司还通过战略合作和并购等方式进行产业布局,加强了自身在电子行业中的地位。公司与其他行业领先企业合作,共同开发新技术和产品,提升了市场竞争力。

  5. 环境保护与社会责任:作为一家负责任的企业,ALPS公司重视环境保护和社会责任,致力于减少环境污染和资源浪费。公司采取了各种措施,包括提高能源利用效率、推动循环经济和环保产品设计等,为可持续发展做出了积极贡献。

以上是关于ALPS公司发展的五个相关故事,这些故事展示了ALPS公司在技术创新、产品多样化、全球化战略、产业布局和环境保护方面的发展历程,以及其在电子行业中的重要地位和影响力。

ECI公司的发展小趣事

面对日益激烈的市场竞争,ECI公司积极开拓国际市场。公司成立了专门的国际市场部,负责海外市场的调研、开发和推广。通过深入了解不同国家和地区的市场需求和文化差异,ECI公司成功推出了符合当地消费者需求的电子产品。同时,公司还与多家国际知名企业建立了长期稳定的合作关系,进一步扩大了市场份额。

Ceratech Corporation公司的发展小趣事

随着全球化进程的加速推进,Ceratech Corporation公司意识到要想在激烈的国际竞争中立于不败之地,必须实施全球化战略。公司开始积极拓展海外市场,通过建立海外分公司、参加国际展会等方式,加强与国际同行的交流与合作。同时,公司还积极引进国际先进的技术和管理经验,不断提升自身的创新能力和管理水平。通过全球化战略的实施,Ceratech Corporation逐渐成为了国际电子行业中的佼佼者。

鞍山圣罗佳(ASL)公司的发展小趣事

在电子行业的早期,Ceratech Corporation公司以其对滤波器技术的深入研究和不断创新而崭露头角。公司研发团队不断攻克技术难题,成功研发出一系列高性能的Ceratech滤波器,这些滤波器以其优异的性能和稳定性,迅速在市场中占据了一席之地。随着技术的不断积累和创新,Ceratech Corporation逐渐在滤波器领域树立起了自己的品牌和技术优势。

China Semiconductor Corp公司的发展小趣事

技术创新的同时,CSC也注重市场拓展和品牌建设。公司积极参与国际交流与合作,与多家国际知名企业建立了战略合作关系。同时,CSC加强了对国内市场的开拓,通过提供优质的产品和服务,赢得了客户的信赖和好评。随着品牌知名度的提升,CSC的产品逐渐在国内外市场上占据了一席之地。

East Texas Integrated Circuits公司的发展小趣事

随着市场的不断扩大,ETIC意识到必须不断提升自身的研发实力才能保持竞争优势。因此,公司加大了对研发的投入,引进了一批高端人才和先进的研发设备。同时,ETIC还积极与国内外高校和研究机构开展合作,共同开展前沿技术的研究和开发。这些努力使ETIC在集成电路领域的技术实力得到了显著提升。

问答坊 | AI 解惑

基于SystemView仿真的数字频率合成器

从20世纪30年代开始频率合成技术被人们认识,70多年来,频率合成技术有了较大的发展。频率合成是以一个或几个频率为基础,进行加、减、乘、除四则算术运算,合成出新的频率的一门技术。随着现代通信技术的迅速发展,雷达、宇航和遥控遥测技术的不断 ...…

查看全部问答>

2812和2808

我新手,因为要参加个DSP比赛,才刚学几天DSP。2812和2808的区别就仅仅在控制电机那个方面吗?他们的引脚图有大的区别没?我想设计电路可是找不到2808的,都是2812的资料。请高手们帮我解决一下我的疑惑。…

查看全部问答>

监控系统的接地与防雷接地2009思考[转]

监控系统的接地与防雷接地 监控系统的接地与防雷接地有矛盾么?有!!! 有的防雷器产品厂家明确主张“到处接地”,特别指出摄像机要接地;为了防雷制造了“多点接地”,那地环路问题怎么办? 监控系统的接地要求是:系统(主机)单点接地——摄 ...…

查看全部问答>

十万火急,,汇编的这个地方如何处理

原程序只有原版..没有通过IO口选择哪个分之的问题   现在我修改为   用意:现在我的程序P3.6口如果是高电平选择上面程序,,,如果是低电平选择下面程序   总的大程序原来里面多处出现    JMP PAN_END&nb ...…

查看全部问答>

关于system_LPC11xx.c文件的一点疑问

读system_LPC11xx.c,发现点问题,求教高手代码447-449行#if (MEMMAP_SETUP || MEMMAP_INIT)       /* Memory Mapping Setup               ...…

查看全部问答>

有没有人2440/ce5用的128M ram 的?

bank6和bank7各挂64M(共4片32M的),近期想这么用,有用过的提供点经验。…

查看全部问答>

寻求 MP3 WMA 硬解码芯片!

现在想用 2440 通过 2 个硬解码芯片同时播放 2 路音乐; 音乐文件是存放在 2440 主板上的 SD 卡中; 这种芯片最好是可以通过 SPI 接口传输数据的; 因为 2440 包含 2 路 SPI 接口。 不知道有没有做过类似项目的朋友,帮忙推荐一下!…

查看全部问答>

对于linux下的usb蓝牙适配器驱动hci_usb.c中的一些宏(如HCI_RESET)是什么意思?

以下这些宏是什么意思,有何用途? #define HCI_IGNORE 0x01 #define HCI_RESET 0x02 #define HCI_DIGIANSWER 0x04 #define HCI_SNIFFER 0x08 #define HCI_BROKEN_ISOC 0x10 #define HCI_BCM92035 0x20…

查看全部问答>

EVC编写的adodc访问SQLCE数据库的程序如何写到系统镜像中

大家好:    请问,在EVC下写的利用adodc3.0访问SQLCE数据库的程序怎么加到CE系统镜像中呢?    adodc和SQLCE要用的动态库我已经加到系统里了,但是通过EVC把程序下载到板子里后,当时是可以运行的,但是重起后,就不行了,提示\"找 ...…

查看全部问答>