【教学视频链接】
优酷链接:http://v.youku.com/v_show/id_XNTI3MjIzNzQ0.html
【接口功能介绍】
ADSP-BF51x 处理器上有40 个GPIO 接口,分布在PF0~PF15,PG0~PG15,PH0~PH7 端口上,通过寄存器配置,这些接口可以输出电平和感知接口电平,并可作为外部中断接口使用。
由于BF51x 处理器接口复用功能很多,在使用BF51x 端口之前,必须要对端口的功能作配置,以告知处理器使用的是什么接口。
在单片机上,通常如果设置一个IO 接口输出时,直接将输出信号值付给该接口,如果作为输入时,直接通过该接口读取即可。Blackfin 处理器的IO 使用与单片机不同,在使用前必须对该接口进行初始化,如告知接口的方向,如配置为输出接口,则直接配置输出接口电平信号,如配置为输入接口,需打开输入使能开关,配置输出信号触发方式,是否中断触发,是否双极性触发等等。初始化完成后,才能使用IO 接口。
【接口寄存器说明】
【例子代码分析】
接口功能配置:
将PF0 接口配置为IO 功能。
*pPORTF_FER &= ~PF0;
输入接口配置:
将PF0 接口配置为输入接口,并且读出接口电平状态。
*pPORTFIO_DIR &= ~PF0; //设置PF0 为输入
*pPORTFIO_INEN |= PF0; //输入使能
i = *pPORTFIO; //读取数据
输出接口配置:
将PF0 接口配置为输出接口,使用两种方式设置PF0 输出高低电平。
*pPORTFIO_DIR |= PF0; //设置PF0 为输出
*pPORTFIO_SET |= PF0; //PF0 脚置高
*pPORTFIO_CLEAR |= PF0; //PF0 脚置低
*pPORTFIO |= PF0; //PF0 脚置高
*pPORTFIO &= ~PF0; //PF0 脚置低
【代码实现功能】
由于PF0 接口和网卡MII 接口复用,如使用开发板扩展接口的PF0 接口测试,需将拨码开关SW5 和SW6 全部拨向OFF,以断开网口对PF0 接口的影响。
工程BF51x_GPIO_IN.dpj 实现了读取PF0 接口状态并打印出PF 接口状态数据。
工程BF51x_GPIO_OUT.dpj 实现了通过PF0 接口不断的输出高低变化的电平。
文章评论(0条评论)
登录后参与讨论