原创 ADI DSP基础教程:BF533/BF531的GPIO和中断详解(上)

2017-5-8 09:58 3701 13 13 分类: 处理器与DSP

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 接口不断的输出高低变化的电平。你看懂了吗?

下一章中断则是跟IO紧密相连的技术点,Blackfin的16个PF口均可做中断来使用!下一章就有教学视频的详细讲解啦,未完待续...

任何ADI DSP的问题,均可联系OP的QQ:5516164,微信:OpenADSP
OP的网站:www.openadsp.com
OP的论坛:www.openadsp.com/bbs
OP的官方淘宝店:https://shop108086345.taobao.com/
ADI DSP中文资料全集(含视频教程和源码)的淘宝链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.12.Ck3v8f&id=39935721554

文章评论0条评论)

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