求教关于IAR中变量的问题-怀疑编译器
大家好!谢谢大家刚才的回答。我的设计思路是SysTick中断中使sendtime++,然后在主程序中判断每10次做一次操作。我的原程序main.c的相关内容如下:
u32 sendtime;
u32 b1;
u32 b2;
int main(void)
{
#ifdef DEBUG
debug();
#endif
b1=b2=0;
sendtime=0;
Set_System();
Set_USBClock();
Led_Config();
Key_Config();
JoyStick_Init();
Interrupts_Config();
EK_ADC_Init();
USART1_Init();
USART1_Configuration();
SysTick_Init_start();
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
//USB_Init();
//while (bDeviceState != CONFIGURED);
//USB_Configured_LED();
b1 = sendtime;
while (1)
{
b2 = sendtime;
if((b2-b1) > 10 )b1 = sendtime;
}
}
编译没问题,但是在单步调试过程中发现while(1)循环中的b2=sendtime根本不执行!
求救啊
RE:求教关于IAR中变量的问题-怀疑编译器
应该不会不执行,IAR的Step方式有时候会跳步显示(可能是step方式的缘故,如果按照汇编step就应该没问题),你可以通过加BreakPoint的方式判断它是否执行了。RE:求教关于IAR中变量的问题-怀疑编译器
根本不能加断点,汇编STEP中就没有相应的代码啊RE:求教关于IAR中变量的问题-怀疑编译器
为什么不能加断点?有什么提示还是怎么样,描述清楚一点儿...我记得在Debug模式的菜单栏里有对应step方式的选择啊,但没遇到过你这个问题,赋值语句虽然跳过但都运行了,你确定sendtime变化了? 优化掉了
页:
[1]