`
java-mans
  • 浏览: 11414554 次
文章分类
社区版块
存档分类
最新评论

NET2272.C 代码分析——InitProcessorSpecificConfiguration

 
阅读更多

函数定义如下:

函数参数数据类型为 ADI_NET2272_DEVICE,其定义如下

因为我用的芯片是ADSPBF561,所以只对ADSPBF561部分进行分析。在分析之前有必要先介绍一下FIOn_XXX寄存器。

1:Flag Input Enable Register (FIOn_INEN)

The Flag Input Enable register is used to enable the input buffers on any flag pin that is being used as an input. Leaving the input buffer disabled eliminates the need for pullups and pulldowns when a particular PFx pin is not used in the system. By default, the input buffers are disabled.

2:Flag Direction Register (FIOn_DIR)

The Flag Direction register is a read-write register. Each bit position corresponds to a PFx pin. A logic 1 configures a PFx pin as an output, driving the state contained in the FIOn_FLAG_D register. A logic 0 configures a PFx pin as an input. The reset value of this register is 0x0000, making all PF pins inputs upon reset.

Note: Note that when using the PFx pin as an input, the corresponding bit should also be set in the Flag Input Enable register.

3:Flag Interrupt Sensitivity Register (FIOn_EDGE)

The Flag Interrupt Sensitivity register is used to configure each of the flags as either a level-sensitive or an edge-sensitive source. When using a edge-sensitive mode, an edge-detection circuit is used to prevent a situation where a short event is missed because of the system clock rate. This register has no effect on PFx pins that are defined as outputs.

The contents of this register are cleared at reset. defaulting to level sensitivity.

4:Flag Mask Interrupt Data register (FIOn_MASKA_D)

The Flag Mask Interrupt registers are implemented as complementary pairs of write-1-to-set, write-1-to-clear, and write-1-to-toggle registers. This implementation provides the ability to enable or disable a PFx pin to act as an interrupt without requiring read-modify-write accesses—or to directly specify the mask value with the data register.

Both Flag Interrupt A and Flag Interrupt B are supported by a set of four dedicated registers:

  • Flag Mask Interrupt Data register
  • Flag Mask Interrupt Set register
  • Flag Mask Interrupt Clear register
  • Flag Interrupt Toggle register

Each PFx pin is represented by a bit in each of the eight registers. Table14-5 shows the effect of writing 1 to a bit in a Mask Set, Mask Clear, or Mask Toggle register.

Table 14-5. Effect of Writing 1 to a Bit
Register
Effect of Writing 1 to a Bit in the Register
Mask Set
Enables interrupt generation for that PFx pin
Mask Clear
Disables interrupt generation for that PFx pin
Mask Toggle
Changes the state of interrupt generation capability
Mask Data
Enables interrupt generation for that PFx pin

4:FLag Polarity Register (FIOn_POLAR)

The Flag Polarity register is used to configure the polarity of the flag input source. To select active high or rising edge, set the bits in this register to 0.

To select active low or falling edge, set the bits in this register to 1.

This register has no effect on PFx pins that are defined as outputs. The contents of this register are cleared at reset, defaulting to active high polarity.

因为要设置NET2272的输入中断为电平触发,所以先读取输入使能寄存器值

usValue = *pFIO0_INEN;

然后根据设备设置属性PF_Int值修改FIO0_INEN

*pFIO0_INEN = usValue | pDev->PF_Int;

读取PF角方向寄存器值

usValue= *pFIO0_DIR;

将中断使能寄存器对应的使能位设置为输入角

*pFIO0_EDGE = usValue & ~(pDev->PF_Int);

读取数据掩码位

usValue = *pFIO0_MASKA_D

使能对应管脚中断

*pFIO0_MASKA_D = usValue | pDev->PF_Int;

将输入管脚设置为高电平触发,与FIOn_EDGE配合使用

usValue = *pFIO0_POLAR;

*pFIO0_POLAR = usValue | pDev->PF_Int;

因为是通过ADSP是接收端,input from NET2272,所以ADSP要通过FIOn_FLAG_C & FIOn_FLAG_S来控制 NET2272

usValue = *pFIO0_DIR;
*pFIO0_DIR = usValue | pDev->PF_Set | pDev->PF_Clear;/*方向配置为输出 */
*pFIO0_FLAG_C = pDev->PF_Clear;
*pFIO0_FLAG_S = pDev->PF_Set;

以上语句将SET 和 CLEAR 标记配置为输出来执行SET或CLEAR

根据以上分析可得,本函数功能主要是对相应的PF管脚进行配置,使NET2272与ADSPBF561通过相应的管脚通信。

分享到:
评论

相关推荐

    ldd示例代码——第三版配套源代码.rarldd示例代码——第三版配套源代码.rarldd示例代码——第三版配套源代码.rarldd示例代码——第三版配套源代码.rar

    ldd示例代码——第三版配套源代码.rarldd示例代码——第三版配套源代码.rarldd示例代码——第三版配套源代码.rar

    C语言项目——企业员工管理系统.zip

    C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统....

    C语言项目——贪吃蛇游戏.zip

    C语言项目——贪吃蛇游戏.zip C语言项目——贪吃蛇游戏.zip C语言项目——贪吃蛇游戏.zip C语言项目——贪吃蛇游戏.zip C语言项目——贪吃蛇游戏.zip C语言项目——贪吃蛇游戏.zip C语言项目——贪吃蛇游戏.zip ...

    C语言项目——火车订票系统.zip

    C语言项目——火车订票系统.zip C语言项目——火车订票系统.zip C语言项目——火车订票系统.zip C语言项目——火车订票系统.zip C语言项目——火车订票系统.zip C语言项目——火车订票系统.zip C语言项目——火车...

    C语言项目——超级万年历.zip

    C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip C语言项目——超级万年历.zip ...

    C语言项目——图书管理系统.zip

    C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书...

    C语言项目——MP3音乐播放器.zip

    C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——...

    C语言项目——商品管理系统.zip

    C语言项目——商品管理系统.zip C语言项目——商品管理系统.zip C语言项目——商品管理系统.zip C语言项目——商品管理系统.zip C语言项目——商品管理系统.zip C语言项目——商品管理系统.zip C语言项目——商品...

    C语言项目——通讯录管理系统.zip

    C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言...

    C语言项目——网络通信编程.zip

    C语言项目——网络通信编程.zip C语言项目——网络通信编程.zip C语言项目——网络通信编程.zip C语言项目——网络通信编程.zip C语言项目——网络通信编程.zip C语言项目——网络通信编程.zip C语言项目——网络...

    C语言项目——学生信息管理系统.zip

    C语言项目——学生信息管理系统.zip C语言项目——学生信息管理系统.zip C语言项目——学生信息管理系统.zip C语言项目——学生信息管理系统.zip C语言项目——学生信息管理系统.zip C语言项目——学生信息管理系统....

    C语言项目——学生个人消费管理系统.zip

    C语言项目——学生个人消费管理系统.zip C语言项目——学生个人消费管理系统.zip C语言项目——学生个人消费管理系统.zip C语言项目——学生个人消费管理系统.zip C语言项目——学生个人消费管理系统.zip C语言项目...

    C语言项目——窗体版图书管理系统.zip

    C语言项目——窗体版图书管理系统.zip C语言项目——窗体版图书管理系统.zip C语言项目——窗体版图书管理系统.zip C语言项目——窗体版图书管理系统.zip C语言项目——窗体版图书管理系统.zip C语言项目——窗体版...

    python项目——火车票分析助手.zip

    python项目——火车票分析助手.zip python项目——火车票分析助手.zip python项目——火车票分析助手.zip python项目——火车票分析助手.zip python项目——火车票分析助手.zip python项目——火车票分析助手.zip ...

    python项目——Excel数据分析师.zip

    python项目——Excel数据分析师.zip python项目——Excel数据分析师.zip python项目——Excel数据分析师.zip python项目——Excel数据分析师.zip python项目——Excel数据分析师.zip python项目——Excel数据分析师....

    C语言项目——12个实用项目.zip

    C语言项目——12个实用项目.zipC语言项目——12个实用项目.zipC语言项目——12个实用项目.zipC语言项目——12个实用项目.zipC语言项目——12个实用项目.zipC语言项目——12个实用项目.zipC语言项目——12个实用项目....

    python项目——开心麻花影视作品分析.zip

    python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip ...

    python项目——DIY字符画.zip

    python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip ...

    python项目——AI智能联系人管理.zip

    python项目——AI智能联系人管理.zip python项目——AI智能联系人管理.zip python项目——AI智能联系人管理.zip python项目——AI智能联系人管理.zip python项目——AI智能联系人管理.zip python项目——AI智能联系...

    .arch源代码——第1章.zip

    .arch源代码——第1章.zip

Global site tag (gtag.js) - Google Analytics