ADSP-BF533 GPIO中断学习

原文地址:: 

http://www.analogcn.com/Article/wz3/201202/20120213114321.html

 

何为中断?举一个简单的例子:你正在家中看书,突然电话铃响了,你放下书,去接电话,和来电话的人交谈,通完电话,回来继续看你的书,这就是生活中的“中断”现象—就是正常的工作过程被外部的事件打断了,上面的例子其实已经包含了中断的两大要素:中断源和中断响应,中断源即是“电话铃响了”,中断响应即是“放下书去接电话,然后回来继续看书”。如果你学过其他的单片机嵌入式系统,像51、AVR、ARM等等,那么你对BF533的中断系统应该也会很快熟悉,因为原理基本上是一样的,只是程序及寄存器的控制不同而已。中断的目的是为了让CPU对内部或外部的突发事件及时地作出响应,并执行相应的程序,在嵌入式系统中,它有着相当重要的作用。

下面进入BF533 GPIO中断的学习,ADSP-BF53x 的16 个PF 接口都可以做为外部中断来使用。要使用PF 口的外部中断功能,分为下面几个步骤:

  1. 需要为PF 脚选择一个中断源;
  2. 设置中断触发方式;
  3. 为中断设置一个中断优先级;
  4. 并且使能中断。

首先是选择中断源,要使用BF533的16个PF口作为中断触发源,可以通过下图中的FIO_MASKA_D寄存器进行设置,当相应位设置为1时,该位对应的IO口中断被使能。例如要设置PF0和PF1作为中断源,设置语句如下:*pFIO_MASKA_D  |= PF0|PF1;

接着是设置中断触发方式,通过下图中的FIO_EDGE寄存器进行设置,FIO_EDGE寄存器16位分别对应16个PF口,在图片的左上角,我们可以看到当某一位设置为0时,代表该位的触发方式为电平触发,当某一位设置为1时,代表该位的触发方式为边沿触发。例如要设置PF1和PF0端口为边沿触发,设置语句为:*pFIO_EDGE |= PF0|PF1;

第三步是为中断设置一个中断优先级,设置该功能的寄存器如下图:

该控制功能通过3个32位的寄存器来进行设置,通过查找,我们可以找到PF口对应的设置位在SIC_IAR2中的12~15位,其默认配置值为5,根据其配置值,再加上下表进行对照,我们就可以知道PF口的中断优先级默认配置为IVG12,通过改变SIC_IAR2上对应位的值,就可以改变PF口的中断优先级啦。例如要设置为IVG7,那么SIC_IAR2上的对应位就应设置为0000.

最后一步是中断使能,中断使能通过SIC_IMASK寄存器进行设置,同样是在图片的左上角,我们可以看到设置值对应的意义,0代表中断潜伏,1代表中断使能。我们可以看到PFA的中断使能位在第19位,设置该位为1使能PFA端口,如下语句:*pSIC_IMASK = 0x00080000;

好了,到此PF口中断设置的步骤就完成了,基本上了解了以上寄存器如何设置,你就可以熟悉地使用PF口的中断功能啦

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ADSP-BF531是一款由安富利(Analog Devices)公司生产的数字信号处理器(DSP)。要烧录ADSP-BF531,您需要以下步骤: 1. 准备烧录工具:您需要一个支持ADSP-BF531的烧录器。常见的烧录器包括ICE-1000、ICE-2000和USB-ICE等。 2. 准备烧录软件:您需要安装并配置适用于ADSP-BF531的烧录软件。安富利公司提供了VisualDSP++软件套件,其中包含了用于烧录和调试ADSP-BF531的工具。 3. 连接烧录器:将烧录器通过USB或JTAG接连接到您的计算机。 4. 连接目标板:将烧录器通过JTAG接连接到ADSP-BF531所在的目标板上。 5. 配置烧录软件:打开烧录软件,并根据软件的指导配置连接方式、目标板和目标设备等参数。 6. 选择程序文件:选择您要烧录到ADSP-BF531上的程序文件。这可以是编译后生成的可执行文件或者其他格式的固件文件。 7. 开始烧录:在烧录软件中点击开始烧录按钮,开始将程序文件烧录到ADSP-BF531芯片中。 8. 等待烧录完成:等待烧录过程完成,通常会有进度条或提示信息显示烧录进度。 9. 验证烧录结果:烧录完成后,您可以使用烧录软件提供的调试功能来验证程序是否正确烧录到了ADSP-BF531芯片中。 请注意,具体的烧录步骤可能会因为使用的烧录器和烧录软件而有所不同。建议您参考安富利公司提供的相关文档和指南,以确保正确地进行ADSP-BF531的烧录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值