|
s5p6818最基本的 GPIO控制---led实例
1、查看电路原理图,找到控制led对应管脚对应名称
2、查看数据手册,选择管脚功能.或者直接在电路图中查看
3、编程
3.1、查看管脚配置寄存器定义管脚地址(数据手册GPIO章节查找)
3.2、配置管脚功能 (1、配置为输出功能;2、配置为输出模式)
3.3、控制GPIOCOUT指定输出状态
4、编译 (前提是已经编译好makefile,已提供)
4.1、直接make。注:是在源程序和makefile所在目录下
4.2、复制生成的文件到tftpboot目录,格式如下:
cp led.bin /tftpboot
4.3、查看是否复制成功. ls /tftpboot 显示led.bin则成功
5、下载配置(配置虚拟机和超级终端)
5.1、连接好串口线、网线、电源线(*千万注意:电源线连接到扩展板DC12V,不能连底板5V)
5.2、连好线以后在给系统上电,上电倒数读秒阶段迅速按回车键,避免进入linux系统
5.3、虚拟机端配置
例:ifconfig eth0 192.168.137.1 (本地址网段要与实体电脑网段一致)
可以在实体电脑:开始---cmd--ipconfig 查看本地连接--ipv4
5.4、超级终端配置网络(输pri查看)
配置格式
setenv severip 192.168.137.xx
setenv ipaddr 192.169.137.xxx
setenv gateway 192.168.137.xxxx
saveenv (保存以上配置)
6、下载
tftp 0x40000000 led.bin (注:led.bin 名字与编译出来名字一样)
7、运行
go 0x40000000
8、结果验证:查看是否实现led灯控制
//D7---E13, D8---C17, D9---C8, D10---C7, D11---C12
//GPIOCOUT --->0xC001C000 ---设置引脚的输出数值
//GPIOCOUTENB --->0xC001C004 ----设置引脚是输入引脚还是输出引脚:1为输出引脚,0位输入引脚.
//GPIOCALTFN0 --->0xC001C020设置[15:0]引脚的功能:00--input or output
//GPIOCALTFN1 --->0xC001C024设置[31:16]引脚的功能:2.3 GPIO function description
#define GPIOCOUT *(volatile unsigned int *)0xc001c000
#define GPIOCOUTENB *(volatile unsigned int *)0xc001c004
#define GPIOCALTFN0 *(volatile unsigned int *)0xc001c020
void main(void)
{
GPIOCALTFN0 &= ~(3<<24);
GPIOCALTFN0 |= (1<<24);
GPIOCOUTENB |= (1<<12);
while(1)
{
GPIOCOUT ^= (1<<12);
delay(0x4000000);
}
}
void delay(int val)
{
volatile int i;
for(i=0;i
}
|
|