LPC1700中断系统详解:中断使能与清零寄存器
需积分: 31 21 浏览量
更新于2024-08-10
收藏 16.69MB PDF 举报
"LPC1700系列微控制器的中断管理机制"
在LPC1700系列微控制器中,中断管理系统是处理器与外部设备通信的关键部分,它允许处理器在执行其他任务的同时处理突发事件。中断使能寄存器和中断清零寄存器是中断管理系统的重要组成部分。
中断使能寄存器(IntEnable-0x5000 0FE4)是用来控制各个中断源是否可以触发中断的关键寄存器。表10.48列出了该寄存器的位描述:
1. RxOverrunIntEn(接收缓冲区溢出或描述符下溢中断使能):当接收缓冲区发生溢出或者描述符下溢时,如果此位设为1,则会触发中断。
2. RxErrorIntEn(接收错误中断使能):如果接收过程中出现错误,比如CRC错误等,此位设为1则会触发中断。
3. RxFinishedIntEn(接收完成中断使能):当所有接收描述符完成且ProduceIndex等于ConsumeIndex时,若此位设为1,中断被触发。
4. RxDoneIntEn(接收完成中断使能):当一个接收描述符处理完成并且其控制区域的中断标志位被置位时,此位设为1会触发中断。
5. TxUnderrunIntEn(发送缓冲区或描述符下溢中断使能):在发送过程中发生下溢时,若此位设为1,中断被触发。
6. TxErrorIntEn(发送错误中断使能):发送错误,如CRC错误,若此位设为1,则触发中断。
7. TxFinishedIntEn(发送完成中断使能):所有发送描述符处理完毕,满足ProduceIndex等于ConsumeIndex条件时,此位设为1会触发中断。
8. TxDoneIntEn(发送完成中断使能):描述符发送完成并设置中断标志位时,此位设为1触发中断。
9. SoftIntEn(软件中断使能):通过设置IntStatus寄存器的SoftInt位可以触发中断。
10. WakeupIntEn(唤醒中断使能):当接收过滤器检测到唤醒事件时,若此位设为1,中断会被触发。
中断清零寄存器(IntClear-0x5000 0FE8)是一个只写的寄存器,用于清除中断状态。表10.49描述了该寄存器的位功能:
1. RxOverrunIntClr、RxErrorIntClr、RxFinishedIntClr、RxDoneIntClr、TxUnderrunIntClr、TxErrorIntClr、TxFinishedIntClr和TxDoneIntClr:这些位对应于中断使能寄存器中的相应位。向其中任一位写入1,会将中断状态寄存器IntStatus中的对应位清零,从而停止中断的发生。
2. SoftIntClr:写入1可以清除IntStatus寄存器中的SoftInt位,从而取消软件中断。
3. WakeupIntClr:写入1可以清除IntStatus寄存器中的唤醒中断状态位。
中断管理系统使得LPC1700能够高效地响应不同事件,通过设置中断使能寄存器中的位,可以开启或关闭特定中断源。而中断清零寄存器则允许在中断处理完成后,主动清除中断状态,以避免不必要的中断再次触发。这种机制在实时系统和多任务环境中尤为重要,因为它确保了处理器能及时、有效地处理各种硬件事件。
2020-08-28 上传
150 浏览量
2014-05-19 上传
2023-08-18 上传
2023-07-24 上传
2023-02-16 上传
2023-05-16 上传
2023-09-07 上传
2023-07-24 上传
无不散席
- 粉丝: 32
- 资源: 2万+
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常