原创 Blackfin的技术文章和教学视频连载8:GPIO和中断-1

2014-7-31 10:05 738 7 7 分类: 处理器与DSP 文集: Blackfin的技术文章和教学视频连载

    Blackfin 系列处理器的初学教程很少,很多初学者不知如何来上手这款DSP。为方便初学者更快的学会使用DSP,成为DSP 高手,本章节将详细介绍DSP 的接口使用,以最基础的示例来诠释Blackfin 的魅力。

    IO作为任何一个处理器都会有的最最基础外设接口,Blackfin是如何的?

    ADSP-BF53x 处理器上有16 个Programmable Flag 接口,简称PF 接口,这些接口就是通常所有的IO 接口,通过寄存器配置,可以输出电平和感知接口电平,每一个PF 接口都可以作为外部中断接口。

    在单片机上,通常如果设置一个 IO 接口输出时,直接将输出信号值付给该接口,如果作为输入时,直接通过该接口读取即可。Blackfin 处理器的IO 使用与单片机不同,在使用前必须对该接口进行初始化,如告知接口的方向,如配置为输出接口,则直接配置输出接口电平信号,如配置为输入接口,需打开输入使能开关,配置输出信号触发方式,是否中断触发,是否双极性触发等等。初始化完成后,才能使用PF接口。

    接口寄存器说明如下所示:

 

20140727205522568.jpg

    让我们来分析一个典型代码:

    输入接口配置:

    将 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口均可做中断来使用!下一章就有教学视频的详细讲解啦,未完待续...

 

dsp
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条