文章目录

  • GPIO实验(lv9-day12)
    • 1 GPIO简介
    • 2 LED实验步骤
      • 2.1 通过电路原理图分析LED的控制逻辑
      • 2.2 通过电路原理图查找LED与Exynos4412的连接关系
      • 2.3通过数据手册分析GPI0中哪些寄存器可以控制LED2
        • 2.3.1 GPX2CON 的相关配置(设置GPIO输入模式 还是输出模式)
        • 2.3.2 GPX2DAT (设置GPIO输出高电平或者低电平)
        • 2.3.3 通过程序去操控对应的寄存器完成对LED的控制
    • 3 实现led的闪烁

GPIO实验(lv9-day12)

1 GPIO简介

GPI0 (General-purpose input/output)即通用型输入输出,GPI0可以控制连接在其之上的引脚实现信号的输入和输出。芯片的引脚与外部设备相连,从而实现与外部硬件设备的通讯、控制及信号采集等功能。

2 LED实验步骤

1.通过电路原理图分析LED的控制逻辑
2.通过电路原理图查找LED与Exynos4412的连接关系
3.通过数据手册分析GPI0中哪些寄存器可以控制LED
4、通过程序去操控对应的寄存器完成对LED的控制

2.1 通过电路原理图分析LED的控制逻辑

通过原理图可知F14412LED为高电平导通.

2.2 通过电路原理图查找LED与Exynos4412的连接关系


LED2连接在Exynos4412的GPX2_7引脚上。

2.3通过数据手册分析GPI0中哪些寄存器可以控制LED2


GPX2CON 用于控制GPX2的相关功能的配置
GPX2DAT 用于储存GPX2的相关数据
GPX2PUD 控制上下拉
GPX2DRV 控制GPIO的驱动能力。

2.3.1 GPX2CON 的相关配置(设置GPIO输入模式 还是输出模式)



因为我们控制的是LED所以GPX2_ 7要设置为输出模式,GPX2CON的【31:28】设为0x01

2.3.2 GPX2DAT (设置GPIO输出高电平或者低电平)


由上面划线的那句话可知GPIO输出高/低电平和GPX2DAT的位是一样的,即GPX2_7输出高电平GPX2DAT的值位0x80.

2.3.3 通过程序去操控对应的寄存器完成对LED的控制

汇编程序

.text
_start:
LED_CONFIG:@GPX2CON的地址LDR R2, =0x11000c40 @设置为输出模式LDR R1,=0x10000000@向地址写入数据STR R1,[R2]
LEDOFF:LDR R2,=0x11000c44 LDR R1,=0x00000000STR R1,[R2]
STOP:B STOP

Makefile文件

3 实现led的闪烁

代码

1 .text2 _start:3 @主函数4 MAIN:5     @初始化配置6     BL LED_CONFIG7     @死循环8 LOOP:9     @关10     BL LEDOFF11     @延时12     BL DEALY13     @开14     BL LEDON15     @延时16     BL DEALY17     B LOOP18 @LED初始化配置19 LED_CONFIG:20     @GPX2CON的地址21     LDR R2, =0x11000c4022     @设置为输出模式23     LDR R1, =0x1000000024     @向地址写入数据25     STR R1,[R2]26     MOV PC,LR27 @LED开28 LEDON:29     LDR R2,=0x11000c4430     LDR R1,=0x0000008031     STR R1,[R2]32     MOV PC,LR33 @LED关34 LEDOFF:35     LDR R2,=0x11000c4436     LDR R1,=0x0000000037     STR R1,[R2]38     MOV PC,LR39 @延时函数40 DEALY:41     LDR R1,=100000042 L:43     SUB R1,R1,#144     CMP R1,#045     BNE L46     MOV PC,LR4748 STOP:49     B STOP50 .end

GPIO实验(lv9-day12)相关推荐

  1. CH32Vx 之GPIO实验

    CH32Vx 之GPIO实验 目录 如何使用外部中断 GPIO如何使用 Main函数 目录 配合中断以及开发板的按钮实现LED的开灭,涉及知识点中断以及GPIO控制 如何使用外部中断 根据手册知识了解 ...

  2. 从51到ARM裸机开发实验(006)Exynos4412 GPIO实验

    本次实验基于Tiny4412开发板,开发板上有四个可编程控制的LED.四个按键.来实现这样一种场景:每个按键控制一盏LED,每按一次则对应的LED状态发生改变,按一次开灯,再按一次关灯.核心控制为三星 ...

  3. GPIO实验之c语言

    上一章节进行实验使用的是汇编进行编程的,本次实验是使用c语言进行编写的. (1)点亮一个led灯   1)启动文件:    crt.S   .text   .global _start   _star ...

  4. 从51到ARM裸机开发实验(003) AT89C51 GPIO实验

    所谓GPIO,就是通用型输入输出(General Purpose Input/Output),GPIO试验是单片机引脚的基本输入输出功能.现在来实现这样一个场景:四个按键作为开关.四个LED作为响应, ...

  5. 基于Atmega16的GPIO实验(以流水灯为例)

    一.实验目的 1. 掌握AVR单片机开发平台的搭建方法. 2. 掌握GPIO的编程方法. 二.实验内容 1. 验证课堂例题 编译下载运行课堂例题--"LED流水灯"和"按 ...

  6. lpc1768的gpio库函数_Cortex-M3学习LPC1768 - GPIO实验

    /********************************************************************************* 文件名称:mian.c 功    ...

  7. JZ2440开发板之GPIO实验,遇到的链接语句、设置寄存器的问题

    (1)自己写的 crt0.s , led.c , Makefile 文件,下到开发板上后始终无法运行,但是将led.c文件拷贝到光盘提供的对应程序中编译,结果可以运行.推测是 crt0.s 或者 Ma ...

  8. lpc1768的gpio库函数_LPC1768之GPIO流水灯的实验例程

    **************************************** Copyright (c) CaKen ************************************ ** ...

  9. DSP5509的GPIO学习-第5篇

    1. 使用CCS V6.1版本,目前已经不局限于仅仅把实验搞清楚了,要深入去探究内部的原理,本章看下GPIO实验 2. 在CCS启动的时候,提示,这个问题是什么,XDAIS是什么?XDAIS (eXp ...

最新文章

  1. Powershell检测AD账户密码过期时间并邮件通知
  2. R语言实战第一,二章SQL版
  3. 8-spark学习笔记-sparksql
  4. java web 使用https_如何在Web应用程序中实现HTTPS登录页面?
  5. linux下MyEclipse 安装
  6. Vue安装依赖npm install时报错问题解决方法
  7. java设置表格列不可修改_Java DefaultTableModel使单元格不可编辑JTable
  8. linux有哪些实时同步工具,rsync文件同步工具常见模式有哪些?linux系统
  9. Python MySQL更新表
  10. C++ 拷贝构造函数和赋值运算符
  11. 从进程组、会话、终端的概念深入理解守护进程
  12. RTSP之主流安防厂家地址
  13. python七种数据类型
  14. 知道这4个隐藏资源网站的人非常少,难怪总是找不到资源
  15. springboot下,JedisPool getResource导致大量线程WAITING,服务假死
  16. 人脸识别会被留底吗_人脸识别会保存我们的照片吗?
  17. 排污单位生产设施及污染治理设施用电(能)监控系统原理、作用、组成及功能
  18. singleton pattern的一个模板实现, 适用于单线程, 并且提供了Release方法
  19. excel中条形图的条目排序与逆序
  20. w7系统怎么开启打印机服务器,W7系统如何开启打印机服务

热门文章

  1. 免费开源的B2B、B2C商城系统(支持PC+小程序+Android+IOS+H5)
  2. Jsp入门1Jsp入门基础简介与工作原理详解
  3. 安装gitlab-runner,注册runner到gitlab
  4. Python实现动态规划01背包问题
  5. 公司一哥们发给公司全体的信件
  6. Magento微信登陆模块 / Magento微信联合登陆 / 支持Magento 1.9.X
  7. 秒懂算法 | 蒙特卡罗算法
  8. Python基础 -- Task01. 变量、运算符与数据类型
  9. Git使用SSH方式远程clone阿里code的项目(完整+详细+多图)
  10. 私域运营4个基本功介绍(引流,内容,工具,方法论)