|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2010-5-6 14:48:15
|
显示全部楼层
在此,我抛砖引玉!先发一个最简单的IO口操作工程
IO口有四个寄存器
第一个是数据寄存器
第二个是方向寄存器 用于设置IO口的方向 为1为输出,为0为输入
第三个是中断屏蔽寄存器 用于设置IO口的中断标志位,为1时候 为开启这个IO口的中断,为0为禁止中断
例如:一个8位IO口 设置中断屏蔽位为 0X0F; 则 IO口的高四位为输入,低四位为输出
第四个是中断捕获寄存器 用于捕获中断,每一次外部中断到来,就会在捕获位置一,在中断中必须清楚捕获位
#include<stdio.h>
#include"system.h"
#include"altera_avalon_pio_regs.h"//IO口设备的头文件
//IO口取地址,这样方便操作
#define led *(volatile unsigned char *) P1_BASE
#define uchar unsigned char
#define uint unsigned int
int main(void)
{
IOWR(P1_BASE,1,0xff); //设置IO口为输出IO口
led=0xff; //IO口输出数据为0XFF
return 0;
} |
|