当前位置: 首页 > news >正文

关于申请网站建设代码网

关于申请网站建设,代码网,网站做链接的意义是什么,ps上怎么做网站轮播图大家好#xff0c;这篇文章转自电源漫谈#xff0c;文章从专业的角度说明了MCU复位经过的过程#xff0c;对大家学习很有帮助。MCU通常会在工作之前#xff0c;先经历复位和启动的一个过程#xff0c;在用户使用过程中往往在这个阶段的工作不是那么的清楚#xff0c;这里… 大家好这篇文章转自电源漫谈文章从专业的角度说明了MCU复位经过的过程对大家学习很有帮助。MCU通常会在工作之前先经历复位和启动的一个过程在用户使用过程中往往在这个阶段的工作不是那么的清楚这里我们就这一话题进行一个讨论。一.MCU的复位问题图1 16bit MCU和dsPIC33复位源的种类一般来说16位MCU包括dsPIC33的复位源主要包含以上7种他们都可以对器件产生复位的作用但是细节有所不同。图2 复位系统框图从复位系统框图上看BOR和POR二者是和VDD电源有关的两种看门狗和外部复位引脚复位也是比较常见的复位类型。图3 复位寄存器RCON复位寄存器RCON包含了复位相关的状态当发生复位时RCON这个寄存器就会更新以便表征是哪一个复位源发生了复位。除此之外这个寄存器也包含了WDT及低功耗的特性的状态信息所以用户可以查看这个寄存器去判断复位原因。图4 复位寄存器内容1图5 复位寄存器的内容2从图示注释中我们可以看到用户在软件中可以对这些RCON寄存器位置位1但是这不会导致器件复位。二.复位和中断的关系图6 默认中断的复位在XC16编译器中当用户没有提供相应中断源的中断服务程序时会在中断向量位置放置一个软件复位中断指令SWR,这时如果有一个意外中断发生时便触发了软件复位使得器件复位。图7 默认中断软件复位指令说明规格书中也有说明任何未实施的或者未使用的中断向量位置都会放一个默认中断处理程序它包含一条RESET指令。三复位和时钟的关系当器件复位时其时钟状态是什么一般来说它是由芯片配置位决定的。图8 配置位中的初始复位时钟选择图9 时钟Clock Switch模式当器件支持Clock Switch模式时初始时钟由OSCCON寄存器中的COSC决定切换后的时钟由NOSC决定。图9 双速启动的模式一般来说从进入复位到执行第一条指令之间的时间取决于所使用的振荡器当使用Primary和Secondary振荡器时由于需要和外部晶振同步所以需要在RESET时等待时间较长才能稳定。如果使用内部振荡器的话就非常快就可以稳定基于配置位对时钟的选择在复位时会等待一定的时间最后在出复位状态前达到时钟稳定。双速启动的含义就是说采用FRC振荡器快速启动然后当Primary振荡器达到稳定后再切换为它这样可以避免等待外部晶振的同步时间。四复位和寄存器及变量状态的关系图10 复位时的寄存器状态外设的特殊功能寄存器SFR一般存在RAM中在复位时可能会被改变在规格书中会规定各个寄存器SFR在复位时的值。当这个值是u时就是说它在复位时是不改变x就是说它在复位时的值是不确定的。当然有一些寄存器在POR和BOR时会有不同的值这个需要注意一下。值得注意的各种复位源中只有POR会改变data Memory的内容而其它则不会改变。五程序启动代码的执行一般来说C编译器会在执行用户指令前调用一段启动代码这段启动代码会在结束复位时执行这段启动代码的目的就是为运行用户C程序而做的系统准备。典型的启动代码由编译器去提供他们将改变在复位后的memory内容。另外在执行启动代码时XC16编译器会提供一些前导选项比如Persistent允许用户在执行启动代码时不改变某些变量。也有一些编译器会提供更直接的选项比如在启动代码时不初始化变量所以需要注意编译器的处理方式。图11 程序执行过程编译器会把启动代码放在0x200的flash地址位置用户main程序会放在启动代码后在系统复位时程序PC会被芯片硬件强制为0则程序从0x00开始执行在0x00处会有一个GOTO指令让代码执行到0x200部分的启动代码这样就可以跨过中断向量的地址范围。图12 程序执行过程说明图12中清楚的说明了代码的执行过程main函数执行之前会有执行Start-up代码的过程。六.其它复位源的讨论图13 Trap冲突复位说明当系统同时发生hardTrap和Soft Trap时则会发生Trap冲突复位HardTrap主要是优先级在Level13-15之间的地址错误Trap或者振荡器错误Trap等。图14 Soft Trap的类别说明诸如DMAC错误或者数学错误或者堆栈错误等之类的soft Trap发生时由于他们的优先级会比Hard Trap更高因此会触发Trap冲突复位。图15 非法指令执行复位当程序尝试去执行非法指令时则会触发IOPUWR位标志位置位表示尝试执行非法指令。比如用户在Flash中保存常数值那么会仅仅用低16位的内容去保存数据高8位设置为0x3F,这就是一个非法指令的示例这样就可以避免程序去执行这个非法指令以避免去执行保存的数据区域的指令。另外W寄存器在复位时会清零直到它再一次写进去数据如果使用未进行初始化的W寄存器作为地址指针则会触发IOPUWR位置位触发复位。总结本文对器件复位相关的源进行讨论同时讨论和复位相关的方面如寄存器状态时钟状态并对程序启动过程做一定介绍。//关于知识产权1.本公众号主要用于个人学习笔记归纳及分享无任何商业目的。2.本公众号所发表言论及观点不代表本人现任公司及前任公司如有错误请不吝指正。3.欢迎随意分享转发如需转载公众号内容请留言告知。4.有些图片来自网络如有侵权请联系删除。5.有问题可通过公众号关注页添加本人微信或者加入技术讨论群交流。
http://www.zqtcl.cn/news/158174/

相关文章:

  • 湘潭建设公司网站杭州网站优化
  • 工信部备案网站网站空间服务商
  • 深圳市企业网站seo营销工具桂林百姓网
  • 网站建设所需材料wordpress nginx配置文件
  • 给企业做网站运营广州制作网站公司
  • 一个网站可以有几个关键词网页游戏制作过程
  • 网站可视化后台桥西区网站建设
  • 个人怎么建设网站北京朝阳区最好的小区
  • 企业应该如何建设网站江苏润祥建设集团网站
  • 沈阳网站建设价格wordpress h1标签
  • 找别人做网站一般注意什么三亚专业做网站
  • 企业营销网站的建设罗湖做网站
  • 百度蜘蛛抓取新网站WordPress20w文章
  • 国际贸易网站有哪些可植入代码网站开发
  • 信息服务平台有哪些网站东莞网站关键词
  • 青岛网站定制手机软件开发和网站开发
  • 网站数据库地址是什么看企业网站怎么做到百度秒收
  • 南昌网站建设资讯wordpress dynamo
  • 网站建设招标样本南宁培训网站建设
  • 找回网站备案密码wordpress 2015主题
  • 网站电子商务平台建设域名查询系统
  • 设计制造中国第一架飞机的人是南宁百度快速优化
  • 淘宝联盟网站模板上海做企业网站
  • 繁体中文网站 怎么做wordpress禁止压缩图片
  • 怎么做图片网站百度云做.net网站
  • 长沙网上商城网站建设方案wordpress兼容mip
  • 横向网站模板上海 建筑
  • 手机wap网站程序上海网站制作库榆
  • 深圳网站建设 骏域网站建设推广软文范例大全500
  • 深圳广东网站建设套餐最近新闻事件