今天在学习MMU时的时候,写了一个流水灯程序。虽然很简单,但是不怕大家笑话,由于学C语言的时候没学位运算操作,再加上硬件实验做的少,所以实现这个也费了不少力气呢。

/** leds.c: 循环点亮4个LED* 属于第二部分程序,此时MMU已开启,使用虚拟地址*/ #define GPFCON      (*(volatile unsigned long *)0x56000050)
#define GPFDAT      (*(volatile unsigned long *)0x56000054)     #define GPF4_out    (1<<(4*2))
#define GPF5_out    (1<<(5*2))
#define GPF6_out    (1<<(6*2))static inline void wait(volatile unsigned long dly)
{int i;for(; dly > 0; dly--)for(i = 0;i<100;++i);
}int main(void)
{unsigned long i = 4;GPFCON = GPF4_out|GPF5_out|GPF6_out;        // 将LED1,2,4对应的GPF4/5/6三个引脚设为输出while(1){wait(30000);GPFDAT |= 0x70;      //每次循环关闭4,5,6三个灯GPFDAT &= ~(1<<i);    //0位每次循环4,5,6位if(++i == 7)i = 4;}return 0;
}
代码分析:在实现流水灯程序时,主要是配置GPF数据寄存器和GPF控制寄存器。在向GPFDAT中写数的时候,就本人认为,应该保证不影响到其他的位(这里是除了4,5,6的其他的位,因为你不知道其他的位有没有用于其他的用途,在这里虽然没影响。)对于寄存器的操作,对寄存器特定位进行置 1 或者清 0 或者取反, 关键点在于要事先构建一个特别的数, 这个数和原来的值进行位与、 位或、 位异或等操作。(1)、寄存器特定位清零用&。(2)、寄存器特定位置 1 用|(3)、寄存器特定位取反用~

ARM学习之GPIO实现流水灯相关推荐

  1. c语言intrins头文件,结合单片机学习板学习c语言之流水灯制作 intrins.h头文件

    原标题:结合单片机学习板学习c语言之流水灯制作 intrins.h头文件 目的:实现流水灯. 本文引用地址:http://www.eepw.com.cn/article/201608/294948.h ...

  2. LED学习及一个花样流水灯的实现

    在STC89C52RC中,负责显示的有8个LED灯,8位数码管,并且支持1602和12864两种液晶显示屏:本篇总结的是8位红光LED灯模块. 主要处理的是点亮和熄灭灯的操作.0是点亮,1是熄灭.其中 ...

  3. 黑金AX301开发板学习(1)——流水灯实验及黑金AX301开发板资料

    第一次尝试使用AX301开发板进行学习,本篇文章主要通过一个流水灯的小实验聊一下AX301这块开发板的使用. 一.黑金AX301是一款基础的学生实验板,用来学习FPGA是一个不错的选择.此款开发板是A ...

  4. avr单片机流水灯程序c语言,AVR单片机学习C语言的流水灯验证

    AVR 的IO口简介与寄存器的概念 一.何谓"寄存器" 寄存器就是RAM中的一些特殊单元,映射片上外设的特殊功能 二.何谓"IO口" 可以将"0&qu ...

  5. 在c语言中本征函数说明,结合单片机学习板学习c语言之流水灯制作--intrins.h头文件...

    目的:实现流水灯.本文引用地址:http://www.eepw.com.cn/article/201608/294948.htm 源程序: /*本程序结合STC89C51使用,晶振12M,中间用到串口 ...

  6. 【小月电子】ALTERA FPGA开发板系统学习教程-LESSON3 LED流水灯

    LED流水灯例程讲解 若要观看该博客配套的视频教程,可点击此链接 开发板实物图 图1.FPGA设计流程 根据多年工作经验,总结出的FPGA的设计流程,概括起来总共有以上12步,其中根据项目难易度可省去 ...

  7. 【小月电子】安路国产FPGA开发板系统学习教程-LESSON3 LED流水灯

    LED流水灯例程讲解 若要观看该博客配套的视频教程,可点击此链接 根据多年工作经验,总结出的FPGA的设计流程,概括起来总共有以上12步,其中根据项目难易度可省去其中一些步骤.比如非常简单的项目,我们 ...

  8. ARM学习之GPIO编程

    开发环境与平台 开发板:粤嵌的GEC210开发板 处理器:s5pv210 处理器内核:Cortex-A8 开发环境:Keil4 基础知识 1.s5pv210的I/O口 S5PV210芯片上共有237个 ...

  9. linux流水灯实验,小静视频第二期:第三节ARM开发板linux下流水灯流水灯的实现...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 视频来自:优酷 一.ARM+Linux硬件操作流程及对代码的简单理解 二.NFS挂载网络文件系统 ①准备NFS文件系统目录 1. 准备 NFS 文件系统目 ...

最新文章

  1. android插件化-apkplug中以监听方式获取OSGI服务-09
  2. (错误记录)git push 报错 403
  3. 配置IntelliJ IDEA
  4. 小结三种控制路由发布的方法
  5. 千博HTML5自适应企业网站系统源码
  6. Nodejs学习笔记(七)——接口API
  7. 小程序引入的echarts过大如何解决_小程序如何解决社区团购的痛点
  8. SPI子系统分析之一:框架
  9. 全网独家:LINUX登录桌面后,如何自动运行自己的应用程序
  10. centos6 安装glibc-2.14.1
  11. “无法保存该网页”的最简单解决方法
  12. Java:接口文档示例
  13. Windows IE 清理缓存
  14. Java实验1-1【超市购物小程序】
  15. 项目管理pmp学习中的记录
  16. python假期培训班
  17. SOMv3.3.3二次开发中LUA脚本对机基础操作指南
  18. 观影感受 之 《都挺好》
  19. latex排版——博雅编辑室
  20. JavaScript 隐式类型转换

热门文章

  1. Excel怎么改变表格边框及背景颜色
  2. 第十四周温湿度传感器采集
  3. 移相全桥的分析与计算
  4. Vue路由(vue-router)详细讲解
  5. 文件透明加密,保护重要数据的安全性
  6. 个人竞聘简历PPT模板
  7. 中国移动、阿里云、百度天工三大物联网平台技术架构对比
  8. 中国经济回暖与华尔街的阴谋
  9. Arduino I2C + DS1307实时时钟
  10. 泛生子Q3财报解析:癌症基因检测行业已呈现“燎原之势”