【ARM】s3c2440之gpio按键控制

简介:

功能

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

说明

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

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

源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*****************************************************************************
*****函数名: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
             }
      }
}



本文转自infohacker 51CTO博客,原文链接:http://blog.51cto.com/liucw/1197218


相关文章
|
存储 编解码 监控
案例分享:Qt+Arm+Fpga医疗肾镜(又名内窥镜)(实时影像、冻结、拍照、白平衡、九宫格、录像、背光调整、硬件光源调整、光源手动自动调整、物理按键)
案例分享:Qt+Arm+Fpga医疗肾镜(又名内窥镜)(实时影像、冻结、拍照、白平衡、九宫格、录像、背光调整、硬件光源调整、光源手动自动调整、物理按键)
案例分享:Qt+Arm+Fpga医疗肾镜(又名内窥镜)(实时影像、冻结、拍照、白平衡、九宫格、录像、背光调整、硬件光源调整、光源手动自动调整、物理按键)
|
4月前
|
数据处理 编译器 数据库
x64 和 arm64 处理器架构的区别
x64 和 arm64 处理器架构的区别
|
27天前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
|
7天前
ARM64架构提供的Cache操作
ARM64架构提供的Cache操作
|
20天前
|
Ubuntu Windows
ARM架构安装ubuntu系统
8月更文挑战第19天
108 0