题目

分析下面的汇编led.s,查看S5PV210手册,说明程序的功能,和最终的运行结果,以及相关的硬件原理图,S5PV210手册可以在教学资源里的学习资料文件夹中下载。

.equ   GPH3CON,             0XE0200C60
.equ   GPH3DAT,             0XE0200C64

.section .text

.globl _start

_start:

start:
           ldr    r0,=GPH3CON
           ldr    r1,=0x11110000      @set gpio gpg3 output mode
           str    r1,[r0]
loop:
           ldr    r0,=GPH3DAT
           mov    r1,#0xff
           str    r1,[r0]
 
           ldr    r0,=GPH3DAT
           mov    r1,#0x0
           str    r1,[r0]

ldr    r0,=GPH3DAT
           mov    r1,#0xff
           str    r1,[r0]

ldr    r0,=GPH3DAT
           mov    r1,#0xef
           str    r1,[r0]

ldr    r0,=GPH3DAT
           mov    r1,#0xdf
           str    r1,[r0]
 
           ldr    r0,=GPH3DAT
           mov    r1,#0xbf
           str    r1,[r0]
 
           ldr    r0,=GPH3DAT
           mov    r1,#0x7f
           str    r1,[r0]
 
           b       loop
           .end

答案

根据s5pv210手册的326页:When the port is configured as output port, the pin state is the same as the corresponding bit.

设置gph3con为输出模式,然后向gph3dat中循环写数据,会将gph3dat中相应的位不断的改变,从而使引脚对应的比特位随输入数据的比特位改变, 改变引脚的状态,从而控制其连接的硬件设备。改变对应的二进制位对应的十六进制是0xff 0x0 0xff 0xef 0xdf 0xbf 0x7f这七个数的循环。

arm_GPIO_简单编程例题的更多相关文章

  1. 开源IDE CodeBlocks的下载安装、配置、简单编程

    如果没有集成开发环境(IDE),在linux下开发程序将非常繁琐,IDE是指将编辑.编译.调试等功能集成在一个桌面环境上,这样就大大方便了用户.IDE一般包括代码编辑器.编译器.调试器和图形界面用户工 ...

  2. CodeBlocks的下载安装、配置、简单编程

    CodeBlocks的下载安装.配置.简单编程 IDE简介 http://www.baidu.com/s?wd=codeblocks ,这里只是介绍Windows平台下的IDE环境配置. CodeBl ...

  3. FrameBuffer系列 之 简单编程

    一.Linux的帧缓冲设备 帧缓冲(framebuffer)是 Linux为显示设备提供的一个接口,把显存抽象后的一种设备,他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作.这种操作是抽象的 ...

  4. Linux简单编程学习心得

    在Linux环境下简单编程学习心得 linux编程过程 在上周的<信息安全设计基础>的课程学习中学习到了在虚拟的linux环境下简单的编程.学习过程中接触到了vim.gcc和gcd在实验楼 ...

  5. ASP.NET Core 基础教程总结 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 基础教程总结 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 基础教程总结 ASP.NET Core 基础教程总算是有了个简单 ...

  6. ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 登录登出 上一章节我们总算完善了注册的功能,而且也添加了一个用户,现 ...

  7. ASP.NET Core 新增用户 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 新增用户 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 新增用户 上一章节我们实现了一个注册表单,但也留了一些东西还没完成, ...

  8. ASP.NET Core 用户注册 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 用户注册 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 用户注册 上一章节我们终于迁移完了 Identity 的数据,也创建 ...

  9. ASP.NET Core Identity 迁移数据 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core Identity 迁移数据 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Identity 迁移数据 上一章节中我们配置了 ...

随机推荐

  1. ACM提交结果简介

    如果你看到红色的"Accepted",那么,恭喜你,你已经成功的解决了该问题! 如果你收到的是如下的信息,则还需要继续检查你的程序: Wrong Answer (WA) : 输出结 ...

  2. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

  3. java第二周周学习总结

    java运算符和循环 java运算符 一.for 语句 for 语句的基本结构如下所示:for(初始化表达式;判断表达式;递增(递减)表达式){    执行语句;   //一段代码} 初始化表达式:初 ...

  4. 去掉Win7快捷方式小箭头(win10通用)

    我是一个有强迫症的优化控 , 因为近视的缘故 , 喜欢将桌面图标放大 ,  但是win7快捷方式的小箭头 , 确实不好看 . 用win7魔方之类的软件 , 可以解决这个问题 , 但是有时候重启 ,   ...

  5. Android ooVoo Apk附件关联分析

    为什么要分析附件关联 发送和接收的图片以及头像等从网上下载的存储在手机的sdcard上面以转换后的名字命名,需要分析数据库中的记录所对应的sdcard的文件才能关联.比如数据库存储是http://oo ...

  6. sift特征

    已经有很多博客已经将sift特征提取算法解释的很清楚了,我只是记录一些我不明白的地方,并且记录几个理解sift特征比较好的博客. 1. http://aishack.in/tutorials/sift ...

  7. selenium 页面截图并保存

    import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org. ...

  8. thinkphp修改和删除数据

    1.在控制器MainController里面写一个方法,调用Nation表中的数据. public function zhuyemian() { $n = D("Nation"); ...

  9. maven热部署到tomcat

    1添加tomcat用户,在conf/tomcat-user.xml文件下添加一个tomcat用户 <role rolename="manager-gui"/> < ...

  10. Java优先队列

    按照Java api的说法: java.util.PriorityQueue.PriorityQueue() Creates a PriorityQueue with the default init ...