【嵌入式Linux+ARM】GPIO操作
1.GPIO介绍 GPIO(general purpose i/o ports)意思为通用输入/输出端口,通俗的说就是一些引脚。 我们可以通过它们输出高低电平 或 读入引脚的状态。 s3c2440中有130个I/O端口,分为A~J共9组,GPA、GPB、..... GPJ 2.GPIO寄存器 既然要操作GPIO,必须对相应的寄存器进行操作,2440中gpio寄存器有: GPxCON——选择引脚功能(输入、输出、保留等) GPxDAT——用来读写引脚 GPcUP ——某一位是1时,相应的引脚无内部上拉电阻;为0时,有内部上拉电阻 3.原理图 LED: 按键: 4.实验代码: >>使用汇编语言实现点灯: led_on.S [cpp] view plain copy print ? .text .global _start _start: LDR R0, =0x56000050 //GPFCON寄存器地址 MOV R1, #0x00001500 //见技术手册相应的配置,一般01为输出引脚 STR R1, [R0] //设置为输出 LDR R0, =0x56000054 //GPFDAT寄存器 MOV R1, #0x00000000 STR R1, [R0] //往GPFDAT寄存器写值 MAIN_LOOP: B MAIN_LOOP //循环等待 Makefile: [cpp] view