|
s5p6818最基本的 GPIO控制---led實例
1、查看電路原理圖,找到控制led對應(yīng)管腳對應(yīng)名稱
2、查看數(shù)據(jù)手冊,選擇管腳功能.或者直接在電路圖中查看
3、編程
3.1、查看管腳配置寄存器定義管腳地址(數(shù)據(jù)手冊GPIO章節(jié)查找)
3.2、配置管腳功能 (1、配置為輸出功能;2、配置為輸出模式)
3.3、控制GPIOCOUT指定輸出狀態(tài)
4、編譯 (前提是已經(jīng)編譯好makefile,已提供)
4.1、直接make。注:是在源程序和makefile所在目錄下
4.2、復(fù)制生成的文件到tftpboot目錄,格式如下:
cp led.bin /tftpboot
4.3、查看是否復(fù)制成功. ls /tftpboot 顯示led.bin則成功
5、下載配置(配置虛擬機和超級終端)
5.1、連接好串口線、網(wǎng)線、電源線(*千萬注意:電源線連接到擴展板DC12V,不能連底板5V)
5.2、連好線以后在給系統(tǒng)上電,上電倒數(shù)讀秒階段迅速按回車鍵,避免進入linux系統(tǒng)
5.3、虛擬機端配置
例:ifconfig eth0 192.168.137.1 (本地址網(wǎng)段要與實體電腦網(wǎng)段一致)
可以在實體電腦:開始---cmd--ipconfig 查看本地連接--ipv4
5.4、超級終端配置網(wǎng)絡(luò)(輸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、結(jié)果驗證:查看是否實現(xiàn)led燈控制
- //D7---E13, D8---C17, D9---C8, D10---C7, D11---C12
- //GPIOCOUT --->0xC001C000 ---設(shè)置引腳的輸出數(shù)值
- //GPIOCOUTENB --->0xC001C004 ----設(shè)置引腳是輸入引腳還是輸出引腳:1為輸出引腳,0位輸入引腳.
- //GPIOCALTFN0 --->0xC001C020設(shè)置[15:0]引腳的功能:00--input or output
- //GPIOCALTFN1 --->0xC001C024設(shè)置[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<val;i++);
- }
復(fù)制代碼
全部資料51hei下載地址:
1led.rar
(4.29 KB, 下載次數(shù): 12)
2018-8-30 20:29 上傳
點擊文件名下載附件
裸機LED控制 下載積分: 黑幣 -5
|
|