_中断的练习课件.ppt

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

务本崇实修德精业目录Content01020304湖南生物机电职业技术学院欢迎你!感谢聆听务本崇实修德精业目录Content《单片机技术应用》模块三单元一练习知识点1:练习机电工程学院练习 1.为了便于系统出错时输出跟踪信息,有人在数据中止(DataAbort)的中断服务程序中调用串口驱动层(非API层)的中断模式发送函数PortSends()来输出信息,请问会有什么现象出现?为什么?注:API层的PortSends()发起软中断后,软中断再调用串口驱动层的PortSends()来完成发送。假设:使用的串口号已通过PortOpen()打开成功了,引起数据中止的条件一直不会消失。 2.所给定的S80MONITOR专用程序开放了应用层对许多地址段(如:0xffff0000)的访问权限,但也禁止了部分地址段(如:中断向量的首地址0SDRAM的首地址0的访问权限。试编写程序,分别读取这三个地址,各自的现象是什么? 练习 4.ARM的中断向量表(如文中图3),为什么不直接放入中断服务程序的整体、而是仅执行跳转? 5.以下说法是否正确、并说明理由:由于ARM总线宽度是32位,很自然地,最多可支持32个模块的IRQ中断请求。 6.【挑战题】假设:串口中断服务程序中有一个指示已接收字节数的计数变量rx_count,每收到一个字符时,就增一(rx_count++);串口API的接收函数PortRecv()中也访问到该变量,每当向应用缓冲区输出一字节,就减一(rx_count--)。现在令rx_count=1。练习 API中减一语句rx_count--对应的汇编代码为:ldrr0,=rx_count//将变量rx_count的地址,存放到通用寄存器r0中ldrr1,[r0]//将r0所指向的内存地址处的值,存放到通用寄存器r1中subr1,r1,#1//将r1的值减一strr1,[r0]//将r1的值写入r0所指向的内存地址处 试分析PortRecv()在执行这四条语句期间,若产生了一次串口接收中断并接收一字节,是否产生计数错误?具体计数错误如何?若会出现计数错误,有什么修正方法可以避免此错误?湖南生物机电职业技术学院欢迎你!感谢聆听务本崇实修德精业***感谢聆听:等线72加粗文字阴影欢迎你:等线24不加粗校训:等线32号加粗文字阴影*务本崇实修德精业目录Content01020304湖南生物机电职业技术学院欢迎你!感谢聆听务本崇实修德精业目录Content***感谢聆听:等线72加粗文字阴影欢迎你:等线24不加粗校训:等线32号加粗文字阴影*

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档