每当在程序中加do....while()语句来清除UCSCTL7中的各个振荡器的错误标志位时,便无法跳出循环,
设置断点后发现是XT1HFOFFG无法清除,其他的位均已清零,即UCSCTL7的值为1028。。。。但是晶振也换了,也用示波器来检查了,晶振是正常的
网上查的时候说可能是IAR的一个bug,将编译器的优化级别换位medium即可,但是一一将各个优化级别改了一遍还是无法跳出do.....while()语句。。
各位大虾有遇到过这种情况吗?
代码用的是TI的示例代码、、、
问题已解决,5438A中要清除XT1和XT2的各个OFFG,必须先使用它,即需在程序中加入P7SEL =0x03 和 P5SEL =0x0C ...
谢谢各位
[ 本帖最后由 airqj 于 2013-8-26 10:22 编辑 ]
兄弟,高速晶振接的是XT2吧,跟XT1HFOFFG有啥关系吗?
回复 板凳lcofjp 的帖子
XT1 有两种模式,LF和HF
回复 5楼airqj 的帖子
那你是把高速晶振接XT1上了?
回复 8楼airqj 的帖子
那XT1HFOFFG标志位是多少无所谓,程序不必判断。
回复 9楼lcofjp 的帖子
关键是别人的XT1接的同样是32768,XT1HFOFFG就能清楚呢。。。。