最近再用UCOS-II在MSP430-F5438遇到一个问题UCOS的OSTime是用MSP的WDT间隔时间模式去实现的
WDT间隔部份WDTCTL暂存器的WDTIS设置可以决定WDT的间隔时间(即成为OSTime的tick)
现在遇到的一个问题是在msp430x54x.h内有可预设定为32ms的8ms的0.5ms的0.064ms前三个都没有问题
但是就没办法设定成0.064ms这一个当成WDT的间隔
正常情况:(设定为0.5ms)OSTime tick为0.5ms的正常递增
异常情况:(设定0.064ms)OSTime无法增加(一直为0),反而是OSIntNesting减一直递增(表示进入无限中断)
猜测原因是否0.064ms时间太短要进到UCOS2的function OSTimeTick();进入还没tick++就被WDT又中断抢走
导致一直无限中断OSTime就一值为0无法增加
请问我猜测的方向正确吗?还是小弟才疏学浅有可能还有其他原因?有大大遇过此问题如何去解决?
请各位高手大大指点一下小弟解惑方向 麻烦各位了谢谢
|