基于OHCI的USB主机 —— 中断寄存器初始化

AM9200 中,中断寄存器分为 2 个层次,一个是用来设置某个功能允许哪些中断产生,另一个是 AIC 中断寄存器,用来设置是否允许该功能产生中断。当 AIC 对应的中断产生时,需要读取相应功能的中断状态寄存器,以判断产生中断的具体原因。

 

对于 USB 接口,首先需要设置 UHP_HcInterruptEnable UHP_HcInterruptStatus 寄存器(关于这两个寄存器的功能,请参见 OHCI 规范)。这两个寄存器属于 USB 功能寄存器,确定允许哪些 USB 中断。代码如下:
// 设置 USB Host 中断寄存器

pUhp-> UHP_HcInterruptEnable  =   OHCI_HC_INTR_MIE |

                                OHCI_HC_INTR_RHSC |

                                OHCI_HC_INTR_UE |

                                OHCI_HC_INTR_WDH |

                                OHCI_HC_INTR_FNO;

pUhp-> UHP_HcInterruptStatus  =   OHCI_HC_INTR_RHSC |

                                OHCI_HC_INTR_UE |

                                OHCI_HC_INTR_WDH |

                                OHCI_HC_INTR_FNO;

// 设置 AIC 中断信息

AT91F_AIC_ConfigureIt (   AT91C_BASE_AIC,

                         AT91C_ID_UHP, //AT91C_ID_TC1,

                         AT91C_AIC_PRIOR_HIGHEST,

                         AT91C_AIC_SRCTYPE_INT_EDGE_TRIGGERED,                                        AT91F_ASM_UHP_Handler);

AT91F_AIC_EnableIt (AT91C_BASE_AIC,AT91C_ID_UHP);





本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/261074,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值