一.中断的概念

中断是一种硬件机制,用于处理异步事件。中断的实时性比轮询要好,通过中断,微控制器可以在异常发生的时候立刻进行处理,而不需要不断轮询事件是否发生。

CM3支持中断嵌套,使得高优先级异常可以打断低优先级的异常。

二.中断服务程序中的数据处理

1.裸机中的中断处理

1)对于中断请求较少的程序来说,直接在中断中进行数据处理是一种简洁的方式(参见正点原子的教学例程)。

2)在实际的工程应用中,中断资源比较宝贵,通常做法是在中断中打一个标记,在主循环中轮询此标志位,发现置位标记后,马上清空,开始做读数据,处理等一系列操作。应避免在ISR中处理复杂数据,让中断能够快速处理完毕。

3)DMA,我好像都没有用过这个功能(后期在讨论)

2.ucos中断服务程序

看起来很简单,与裸机相比只增加了两行代码:

OSIntEnter();  //通知UCOS进入中断处理
/*中断服务程序*/
OSIntExit(); //退出中断处理

  

这两个函数暂时不去关注他的实现。

3.多中断优先级的处理器

处理器的中断优先级别永远高于系统任务的优先级别。

对于CM3内核的芯片来说,有三个不可编程的优先级,系统内核无法参与。

最新文章

  1. mysql导入导出sql文件
  2. 重载运算符:类成员函数or友元函数
  3. 关于移动端1px边框问题
  4. Invalid escape sequence(valid ones are \b \t \n \f \r \" \' \\)
  5. Dynamic CRM 2013学习笔记(三十七)自定义审批流7 - 初始化(整套审批流下载、安装)
  6. Spring事务配置的五种方式(转)
  7. MySQL的多实例
  8. Svn与Git的区别
  9. windows XP 安装pip
  10. [算法题] Two Sum
  11. 【xsy2140】计数
  12. MyBatis源码解析(二)——Environment环境
  13. Big Endian  和 Little Endian 模式的区别
  14. char 类型的操作函数
  15. spring播放器详细设计说明书(一)
  16. Sqlserver Sequence操作
  17. java网络基础知识的简述
  18. linux 负载均衡配置 keepalive lvs 使用nginx转发 CentOS7 搭建LVS+keepalived负载均衡
  19. BZOJ1061 [Noi2008]志愿者招募 【单纯形】
  20. 洛谷 P3698 [CQOI2017]小Q的棋盘 解题报告

热门文章

  1. Kong(V1.0.2) Health Checks and Circuit Breakers Reference
  2. Kong(V1.0.2)loadbalancing
  3. 一个故事带你理解if __name__ == '__main__'
  4. C:指针遍历二维数组
  5. wireshark过滤器
  6. webapi自定义Filter
  7. pandas学习笔记(一)
  8. C# winform三种方法判断文本框textBox内容是否为空
  9. 一些最常见的SNMP的OID自动翻译成zabbix数字进行表示(华为9306)
  10. fdisk 分区及 swap