Tiny4412开发板 LED灯的控制
控制 开发板 LED
2023-09-14 08:56:49 时间
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);
一.再开发板上我们的外部设备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
相关文章
- AWS S3 bucket 的 ACL 控制
- dsp运动控制卡_营销行动方案控制
- Cisco | 利用 ZBF 做流量控制
- 开发板还能这么用?美国学者用Jetson Nano支持便携式AI假肢,控制每一根手指
- Python流程控制语句有哪几种?流程控制语句详解
- Linux进程管理:SL 控制与优化(linux进程sl)
- 管理Linux用户权限管理:分享与控制(linux用户的权限)
- 权限控制Linux系统下登录目录权限管理(linux登录目录)
- 控制Redis与Java实现缓存有效期管理(redisjava过期)
- Oracle关闭并发控制的有效实现(oracle关闭并发语句)
- 限制Redis实现登录控制的有效方法(用redis怎样做登录)
- Oracle中表空间大小控制方法探究(oracle中表空间大小)
- php的控制语句
- JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍