Blackfin 系列处理器的初学教程很少,很多初学者不知如何来上手这款DSP。为方便初学者更快的学会使用DSP,成为DSP 高手,本章节将详细介绍DSP 的接口使用,以最基础的示例来诠释Blackfin 的魅力。
IO作为任何一个处理器都会有的最最基础外设接口,Blackfin是如何的?
ADSP-BF53x 处理器上有16 个Programmable Flag 接口,简称PF 接口,这些接口就是通常所有的IO 接口,通过寄存器配置,可以输出电平和感知接口电平,每一个PF 接口都可以作为外部中断接口。
在单片机上,通常如果设置一个 IO 接口输出时,直接将输出信号值付给该接口,如果作为输入时,直接通过该接口读取即可。Blackfin 处理器的IO 使用与单片机不同,在使用前必须对该接口进行初始化,如告知接口的方向,如配置为输出接口,则直接配置输出接口电平信号,如配置为输入接口,需打开输入使能开关,配置输出信号触发方式,是否中断触发,是否双极性触发等等。初始化完成后,才能使用PF接口。
接口寄存器说明如下所示:
让我们来分析一个典型代码:
输入接口配置:
将 PF0 接口配置为输入接口,并且读出接口电平状态。
*pFIO_DIR &= ~PF0; //设置PF0 为输入
*pFIO_INEN |= PF0; //输入使能
i = *pFIO_FLAG_D; //读取数据
输出接口配置:
将 PF0 接口配置为输出接口,使用两种方式设置PF0 输出高低电平。
*pFIO_DIR |= PF0; //设置PF0 为输出
*pFIO_FLAG_S |= PF0; //PF0 脚置高
*pFIO_FLAG_C |= PF0; //PF0 脚置低
*pFIO_FLAG_D |= PF0; //PF0 脚置高
*pFIO_FLAG_D &= ~PF0; //PF0 脚置低
输入就实现了读取PF0 接口状态并打印出PF 接口状态数据。输出则实现了通过PF0 接口不断的输出高低变化的电平。你看懂了吗?稍后补充一下这俩例子程序源码。
上面提到的2个IO的例程源码奉上:
GPIO IN:链接: http://pan.baidu.com/s/1dDlE8Dj 密码: q95f
GPIO OUT:链接: http://pan.baidu.com/s/1eQ7rqsM 密码: b0w5
下一章中断则是跟IO紧密相连的技术点,Blackfin的16个PF口均可做中断来使用!下一章就有教学视频的详细讲解啦,未完待续... |