请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430FR2355 大家好...
我有一个运行的 sprintf 语句...如果我在语句上停止调试器看起来一切正常...当我单步执行语句时,它会更改枚举类型的值。 此枚举仅在按钮之后分配。
我验证调试器何时停止,是否没有设置 ISR 标志来指示按钮按压...有人能告诉我这里可能会发生什么情况吗?? 请注意带帮助备注...如果我不将该语句放入代码中,则 SW.CntScreen 将采用另一个值.....
switchTracker_t sw = {GPS_SCREEN,0,F};
typedef enum {GPS_SCREEN = 0, AD_SCREEN, NULL_SCREEN} screen; typedef struct switchTracker_t { screen CntScreen; uint8_t CntSubMenu; uint8_t subMenuActive; }switchTracker_t;
if(sw.subMenuActive && (sw.CntScreen == AD_SCREEN)) { LCD_clear(); /* * Publish data to LCD */ current = (prtnVals->motorCurrent * 3.3) / 4095; sprintf(mtr,"%04.2f", current); sw.CntScreen = AD_SCREEN; //BANDAID!!!! DatatoI2C.p = (uint8_t *) &mtr; DatatoI2C.size = sizeof(mtr); LCD_write(3, 8, &DatatoI2C); }