DAVE——数字运用工程师,出自Infineon科技。它能帮咱们精确而快速地进行根据Infineon8位、16位或32位单片机的嵌入式体系规划。因为Infineon的嵌入式为控制器的寄存器的数量非常大,大约有一千多个。所以对很多寄存器的初始化是一件适当扎手的事,而有了DAVE的渠道就能很轻松地完结这些作业。一起DAVE还可完结单片机的其它初始化作业,与Keil或、Tasking等编译软件完结链接,轻松完结嵌入式体系的软件开发作业。
XC2336B是Infineon的16位微控制器XC2000宗族中的一员,它将功用和功用都得到扩展的C166SV2内核、功用强大的片上外设子体系和各种片上存储器进行了完美结合。履行速度更快、稳定性更好、操作更简略。
1 XC2336B单片机特别的看门狗作业形式
1.1 正常形式
正常形式是运用复位或内部运用复位后的缺省形式。只要当履行ENWDT指令时,才能从禁用形式进入正常形式。
1.2 禁用形式
关于彻底不需要WDT功用的运用,可采用禁用形式。履行指令DISWDT进入禁用形式:若CPUCON1.WDTCTL=0,在初始化完毕前履行该指令;若CPUCON1.WDTCTL=1,可在恣意时间履行该指令。
1.3 预警形式
检测到看门狗错误时,一直进入预警形式。若正常形式下定时器溢出,则进入预警形式。此刻,WDT不会当即恳求对芯片复位,它会首要发送预警输出,保证体系在复位之前进入安全的状况。接收到预警信号后,CPU和体系完结当时挂起的操作恳求,不产生新的操作恳求。经过中止奉告CPU呈现预警,CPU可经过寄存器INTSTAT辨认WDT预警中止。完结一切挂起的操作后,在复位之前CPU应履行IDLE指令以停止一切进一步的操作。
1.4 恒复位
假如看门狗引发两次复位(运用或内部运用复位),则以为呈现了严峻的体系故障,XC2336B坚持由RSTCON1.WDT装备的复位状况,直至产生上电复位。例如,当器材和外部存储器的衔接丢掉,以致于无法完结体系初始化时,器材会被周期性复位。这种双复位检测办法可防止各种情况引起的器材周期性复位。
该单片机WDT与其它单片机WDT不同的当地之一便是引入了预警形式中止,这使软件能够在产生反常复位之前处理一些必要的数据;另一个不同的当地便是引入了恒复位状况,使单片机在产生严峻的体系故障时,各端口坚持非输出状况,一起不产生周期性复位。
假如在某些场合不期望单片机呈现恒复位状况,或许不期望单片机在两次WDT复位后就进入恒复位状况,则软件有必要在WDT预警形式中止中写入代码。文章后边会有实例阐明。
2 单片机初始化完毕后WDT有用的作业办法
如图2所示,假如在DAVE软件的WDT初始化挑选中选中该项,则软件在复位初始化完毕后,WDT应该使能。
可是,假如不在DAVE主动生成的工程文件中,将WDT选项勾选的话,WDT将永久无效。即便你现已勾选了该选项,下次DAVE主动修正工程文件时该选项也会被铲除。因此在该作业办法下,软件中能够没有发动WDT的句子,但每次用DAVE主动修正工程文件时都要从头勾选。该选项在工程文件的Start_V3.A66中,方位如图3所示。
在这种作业办法下,在DAVE主动生成的工程文件中,对WDT来说只要如下句子起作用:
_srvwdt_();//服务WDT
3 WDT一直有用的作业办法
如图4所示,假如在DAVE软件的WDT初始化挑选中选中该项,则WDT一直有用,随时能够使能和制止。
在这种作业办法下,应该在DAVE主动生成的工程文件中写入如下句子:
_diswdt_(); //制止WDT
_asm{ENWDT;} //使能WDT
_srvwdt_(); //服务WDT
4 去掉WDT恒复位状况的办法
在以上两种WDT的作业办法下,当产生两次WDT复位时,单片机都会进入恒复位状况。假如想要去除这种状况,那就有必要首要注册WDT预警中止。
然后在预警中止中写入如下代码。
5 完毕语
本文对XC2336B单片机WDT的特别功用进行了解说,并介绍了两种作业办法。最终还用实践例程阐明了如何将XC2336B单片机WDT的特别功用给去掉,使其能同等与一般单片机的看门狗相同运用。这样,编程人员就能够在读EEPROM、调试和运转等不同环境下娴熟运用该单片机的WDT了。