(一)GPIO 编程实验 LED 流水灯控制
7个寄存器 是R1-R16.(当然,里面有很多是分几个模式的,所以总共有37个)
类似于单片机的R0-R7. GPXCON,GPXDAT等等是另外的寄存器,应该叫,特殊功能寄存器,类似于单片机的P0,P1,TCON,等等。 GPXCON:是X管脚的控制寄存器,控制它们的模式,比如输出模式,输入模式……
GPXDAT:是X管脚的数据寄存器,存储它们的数据,
GPIO ,通用的输入输出,其引脚可供编程使用,对于简单的外部设备,比如控制一个LED 灯的亮灭,自然 只需要一位 信号就够了。
使用传统的 串行口和并行口 并不合适。 所以 S3C2440 芯片提供了 130个通用的 GPIO 口。
s3c2440 有 130个 功能可以选择的I/O端口,共9组: GPA,GPB,。。。。GPJ , 每组I/O 引脚数目不等。 GPB组共有11个I/O 端口,GPB0---GPB1——-----GPB10 ,GPC 有16个, GPC0--GPC15.
功能可以选择是指 可以通过设置控制寄存器来将 某个引脚作为 输入、输出或者 其他功能。
举例子:
开发板LED1 接在 GPB5 端口上,因此可以通过控制寄存器来将GPB5设为输出, 只有当GPB5 是低电平的时候LED1 才会亮, 这时候便用到 芯片内部对应的数据寄存器。 数据寄存器每一位控制一个I/O引脚。。
GPB5便由 数据寄存器的第5位控制,输入0 ,LED1点亮。
_____________________________________________________________________________________________________________________________________________
我们通过分析 GPB 来掌握 GPIO 口的 使用,举一反三!!!!!!!!!!!!!!!!!!!!!!!!!!

#define LEDS (1<<5|1<<6|1<<7|1<<8)
GPBDAT=(GPBDAT&(~LEDS)) | (1<<6|1<<7|1<<8); // LED1 亮了,其余灭,分析简单 讨论:
| GPBCON | ||
| GPB10 | 21 | |
| 20 | ||
| GPB9 | 19 | |
| 18 | ||
| GPB8 | 17 | LED4 |
| 16 | ||
| GPB7 | 15 | LED3 |
| 14 | ||
| GPB6 | 13 | LED2 |
| 12 | ||
| GPB5 | 11 | LED1 |
| 10 | ||
| GBP4 | 9 | |
| 8 | ||
| GPB3 | 7 | |
| 6 | ||
| GPB2 | 5 | |
| 4 | ||
| GPB1 | 3 | |
| 2 | ||
| GPB0 | 1 | |
| 0 |
| 15400 | ||
| 0 | ||
| 0 | ||
| 0 | ||
| 0 | ||
| 0 | (17:16) 01 | output |
| 1 | ||
| 0 | (15:14) 01 | putput |
| 1 | ||
| 0 | (13:12) 01 | output |
| 1 | ||
| 0 | (11:10) 01 | output |
| 1 | ||
| 0 | ||
| 0 | ||
| 0 | ||
| 0 | ||
| 0 | ||
| 0 | ||
| 0 | ||
| 0 | ||
| 0 | ||
| 0 |
| GPBDAT | ~LEDS | (GPBDAT&(~LEDS)) |
(1<<6|1<<7|1<<8) |
||
| GPB10 | 10 | ||||
| GPB9 | 9 | ||||
| GPB8 | 8 | 0 | 0 | 1 | |
| GPB7 | 7 | 0 | 0 | 1 | |
| GPB6 | 6 | 0 | 0 | 1 | |
| GPB5 | 5 | 0 | 0 | 0 LED1亮 | |
| GPB4 | 4 | ||||
| GPB3 | 3 | ||||
| GPB2 | 2 | ||||
| GPB1 | 1 | ||||
| GPB0 | 0 | ||||
(1<<5|1<<7|1<<8) |
(1<<5|1<<6|1<<8) |
(1<<5|1<<6|1<<7) |
| 1 | 1 | 0 LED4亮 |
| 1 | 0 LED3 亮 | 1 |
| 0 LED2亮 | 1 | 1 |
| 1 | 1 | 1 |
(一)GPIO 编程实验 LED 流水灯控制的更多相关文章
- TQ210裸机编程(2)——LED流水灯
两个文件start.S和led.c start.S .global _start @声明一个全局的标号 _start: bl main ...
- 第一个FPGA工程—LED流水灯
这一章我们来实现第一个FPGA工程-LED流水灯.我们将通过流水灯例程向大家介绍一次完整的FPGA开发流程,从新建工程,代码设计,综合实现,管脚约束,下载FPGA程序.掌握本章内容,大家就算正式的开始 ...
- S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的
S3C6410裸奔之旅——RVDS2.2编译.仿真.调试过程 LED流水灯 (2012-10-13 23:56:30) 转载▼ 标签: s3c6410裸奔 ok6410 rvds2.2 rvds2.2 ...
- 使用CCS10新建TMS320F28335工程并闪烁LED(流水灯)程序
学习TMS320F28335使用Code Composer Studio 10.4.0下载和安装本文不再叙述. 1. 新建工程 1.1选择目录新建工作区 1.2打开软件界面如下图所示: 1.3选择新建 ...
- 学习笔记——单片机简介 & 点亮LED & 流水灯 & 电路基础【更新Ing】
视频地址:https://www.bilibili.com/video/av10765766 超详细!!!!!! 单片机内部三大资源 [资源:单片机可提供使用的东西] FLASH 可以重复擦写 断电后 ...
- ARM实验1 —— 流水灯实验
实验内容: 编写GPIO模块程序,实现对FS_4412平台的上的led2,led3,led4 ,led5,的流水灯实现. 实验目的: 熟悉开发环境的使用. 掌握Exynos 4412处理器GPIO功能 ...
- cc2530单片机的第一次实验,流水灯
第一个实验:控制流水灯 P1_0,P1_1,P0_4都连接在发光二极管的负极,所以,当这三个引脚为低电平,也就是0的时候,相应的发光二极管才会亮. 其实这里可以稍微的关注一下寄存器的地址,然后,编程的 ...
- [DM8168]Linux下控制GPIO实现LED流水灯
首先加载驱动模块,应用程序通过调用API实现GPIO控制功能. 驱动程序: /* * fileName: led_gpio.c * just for LED GPIO test * GP1_14 -& ...
- LED流水灯(二)
记住看汇编的时候是红在上面 黑色在下面 startup.s 程序 ; MDK跑马灯实验; PRESERVE8 // 字节对齐关键词 ,汇编有8位对齐的要求,要添加 AREA ...
随机推荐
- 【Unity3d游戏开发】Unity3D中的3D数学基础---向量
向量是2D.3D数学研究的标准工具,在3D游戏中向量是基础.因此掌握好向量的一些基本概念以及属性和常用运算方法就显得尤为重要.在本篇博客中,马三就来和大家一起回顾和学习一下Unity3D中那些常用的3 ...
- MYSQL trigger 个人记录
同学要写个trigger,稍微帮他研究了下 以下主要是个人猜想理解的 主要讲update 我们在创建trigger时,数据库会对创建了trigger的表进行事件监听. 当表中的一条记录发生update ...
- Activiti工作流学习(三)Activiti工作流与spring集成
一.前言 前面Activiti工作流的学习,说明了Activiti的基本应用,在我们开发中可以根据实际的业务参考Activiti的API去更好的理解以及巩固.我们实际的开发中我们基本上都使用sprin ...
- Redis 数据类型总结—String
1.1 数据类型 Redis常用五种数据类型:string, hash, list, set, zset(sorted set). Redis内部使用一个redisObject对象来 ...
- 【Alpha】Daily Scrum Meeting第三次
本次随笔调换了展示顺序,把重要的内容放前面. 一.本次Daily Scrum Meeting主要内容 说明要完成alpha版本还需要哪些功能 对这些功能进行分析和实现方式的讨论 强调编码规范和变量命名 ...
- 面试习题之设计模式 C#观察者模式(猫叫老鼠惊走主人醒)
腾讯云测试|TEST Tencent Cloud /* * CatShout.cs */ using System; using System.IO; using System.Collections ...
- HDU 3572 Task Schedule(拆点+最大流dinic)
Task Schedule Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- 你听说过哪些坑人 or 赚钱的歪点子?真是骗局太多,傻子都不够用啊!
又到了骗术揭秘时间了.各位看客您扶稳做好了,来给你深扒一些行业内幕了. 或者说一些投机的思路. 先提前写一些字,相信你们一会评论时候会用的上.直接复制,比较省力. “这年头傻逼太多,骗子明显不够用啊. ...
- 使用C#模拟键盘输入、鼠标移动和点击、设置光标位置及控制应用程序的显示
1.模拟键盘输入(SendKeys) 功能:将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样. 语法:SendKeys.Send(string keys);SendKeys.SendWa ...
- Android开发使用TotalControl调试遇到的问题(备注)
背景:Android开发,使用TotalControl控制手机进行调试. 过程:Eclipse调试一直正常,某天下午突然提示:无法启动ADB.exe,请确认是否在对应的路径下. 怀疑是自己程序写的有问 ...