Tiny4412开发板 LED灯的控制

原创 2015年07月08日 08:56:10
exynos4412裸版控制led灯.
1.查看电路图.
2.查看4412手册.找到对应的寄存器.
3.配置对应的寄存器.


一.再开发板上我们的外部设备led,在核心板.所以我们需要打开核心板电路图.
  zshh@HP:~/work/arm/arm资料/exynos4412_lzy/schematic$ ls
LCD-HD700-1306.pdf   Tiny4412_1306_core_board_sch.pdf
LCD-S701-121212.pdf  Tiny4412SDK_1306_main_board_sch.pdf
  
  可以看到,再这个目录下有四份手册,
  第一份是高清lcd屏幕手册,
  第二个就是我们需要的核心板电路图.
  第三个是标准lcd屏幕手册.
  第四份主板电路图.
 
 (注解:使用evince命令加上&符号的意思是,再后台打开该文件.他不会占用当前的控制终端.)
 zshh@HP:~/work/arm/arm资料/exynos4412_lzy/schematic$ evince Tiny4412_1306_core_board_sch.pdf &
 它在这个手册p13,右上角的位置,由四个led灯的原理图.
 1.从原理图上看管脚的一端应该拉低,led灯亮.以为它的另一个管脚给定是VDD_SYS_3.3V
 2.那么我们再查找一下它链接4412的那个管脚是哪个,会在手册的第六页的右下方的位置.
   看到led1,led2,led3, led4,gpio为GPM4_0 --GPM4_3控制.




二: 这时,我们需要打开另外一个手册,路径如下.
 zshh@HP:~/work/arm/arm资料/exynos4412_lzy/datasheet/4412$ ls
 SEC_Exynos4412_Users+Manual_Ver.1.00.00_bac.pdf
 
 1.使用相同的方式打开SEC_Exynos4412_Users+Manual_Ver.1.00.00_bac.pdf手册.
   zshh@HP:~/work/arm/arm资料/exynos4412_lzy/datasheet/4412$ 
   evince SEC_Exynos4412_Users+Manual_Ver.1.00.00_bac.pdf 
 
 2.我们找到GPM4描述,p107   (p107的意思是107页)
GPM4CON 0x02E0 Port group GPM4 configuration register
GPM4DAT 0x02E4 Port group GPM4 data register 
GPM4PUD 0x02E8 Port group GPM4 pull-up/ pull-down register 
GPM4DRV 0x02EC Port group GPM4 drive strength control register 
GPM4CONPDN 0x02F0 Port group GPM4 power down mode configuration register 0x0000
GPM4PUDPDN 0x02F4 Port group GPM4 power down mode pull-up/ pull-down register
       
        我们需要配置控制寄存器.和数据寄存器.来完成led的亮灭.
        找到p284,中由GPM4CON寄存器的描述,该寄存器的每4位控制一个gpio的工作模式.
0-15位对应的是. gpm4con[0]-gpm4con[3]
如下是每个4位设置如下的一个值,
0x0 = Input                 如果开始4位设置为0的话,gpm40讲会被设置为输入模式.
0x1 = Output   
0x2 = CAM_I2C0_SCL
0x3 = CAM_GPIO[10]
0x4 to 0xE = Reserved
0xF = EXT_INT12[0]
        我们需要控制led等的亮灭,那么我们需要设置gpm4con为1,则是设置输出模式.

Base Address: 0x1100_0000
 Address = Base Address + 0x02E0, Reset Value = 0x0000_0000

这个是GPM4CON的基地址. 0x11000000+0x02E0




GPM4DAT
 Base Address: 0x1100_0000
 Address = Base Address + 0x02E4, Reset Value = 0x00
GPM4DAT[7:0] 其中每一位定义一个gpio的的数据位.




三.定义并配置gpio.
1.创建led.h.
/*************************************************************************
   > File Name: led.c
   > Author: zshh0604
   > Mail: zshh0604@.com 
   > Created Time: Thu 25 Dec 2014 08:12:41 PM
************************************************************************/
#ifndef __MY_LED_H
#define __MY_LED_H


extern void led_init(void);
extern void led_on(int no);
extern void led_off(int no);


#define GPM4CON (*((volatile unsigned int *) (0x11000000+0x02E0)))
#define GPM4DAT (*((volatile unsigned int *) (0x11000000+0x02E4)))


#endif



2.创建led.c文件.
/*************************************************************************
   > File Name: led.c
   > Author: zshh0604
   > Mail: zshh0604@.com 
   > Created Time: Thu 25 Dec 2014 08:12:41 PM
************************************************************************/


#include<common.h>
#include<led.h>


void led_init(void)
{
//清空0-15位.
GPM4CON &= ~0XFFFF;
GPM4CON |= 0x1111;    //将它的值设置为输出模式.
GPM4DAT |= 0xF;       //默认灯全部都是灭的.
}


void led_on(int no)
{
if(no<0 || no > 3)
{
printf("led_on param error\n"); 
return;
}
GPM4DAT &= ~(0x1 << no);
}


void led_off(int no)
{
if(no<0 || no > 3)
{
printf("led_on param error\n"); 
return;
}
GPM4DAT |= (0x1 << no);

}



参考网址:http://blog.csdn.net/shaohuazuo/article/details/42154697

版权声明:本文为博主原创文章,未经博主允许不得转载。

4412裸机程序之按键控制LED

这1节我们通过按键来控制led,按下按键K1,4个灯全亮,松开全灭。 看一下原理图 K1与XNI26/GPX3_2相连,我们把GPX3_2配置成输入接口,从原理图可以看出当...

4412裸机程序之点亮LED

4412裸机程序之点亮LED 看一下Tiny4412原理图: 在Tiny4412核心板上有4个可编程控制LED,我们来点亮led1, led1右边接3.3V电源,左边接GPM4_0...

Exynos4412裸机开发系列教程--LED流水灯

对于任何一门编程语言的学习,打

基于TINY4412的Andorid开发-------简单的LED灯控制

参考资料: 《Andriod系统源代码情景分析》 《嵌入式Linux系统开发完全手册_基于4412_上册》 作者:彭东林 邮箱:pengdonglin137@163.com 平台介绍: 主...

Exynos4412 裸机开发—— 流水灯

这里我们使用的开发板是4412,开发板4412上有4个LED灯,我们这里可以利用其来做流水灯实验。下面是4个LED的原理图: 查看原理图,4412开发板的LED由CPX2_7 CPX1_0 GPF3...

基于tiny4412开发板LED灯驱动标准的read write函数写法

简介原来曾经写过一个led灯的驱动,调用read write函数对灯的亮灭进行操作,虽然达到了控制的目的,学过系统编程的人知道,其实标准的read write函数的用法,并不是这样的,在对文件操作时,...

基于tiny4412开发板led灯字符设备ioctl驱动写法

ioctl接口作用write:向设备写入数据,单独这个接口并不能满足现实设备控制的全部需求。例如一个LCD控制器:主要作用是驱动lcd屏,要显示就是通过write接口把显示数据发给lcd控制器指定的显...

tiny4412开发板LED灯驱动写法

简介led灯成本很低,操控简单,在嵌入式产品中不可或缺,可以作为调试标识,状态指示等等,高级用法还可以作为呼吸灯进一步增强其美观性。本章介绍只控制led灯的亮灭,tiny4412开发板有四个LED灯在...

基于TINY4412的Andorid开发-------简单的LED灯控制

http://www.cnblogs.com/pengdonglin137/p/3857724.html 基于TINY4412的Andorid开发-------简单的LED灯控制 ...

基于TINY4412的Andorid开发-------简单的LED灯控制

参考资料: 《Andriod系统源代码情景分析》 《嵌入式Linux系统开发完全手册_基于4412_上册》 作者:彭东林 邮箱:pengdonglin137@163.com ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tiny4412开发板 LED灯的控制
举报原因:
原因补充:

(最多只允许输入30个字)