有关9S12单步调试问题求专家解答
时间:10-02
整理:3721RD
点击:
有关9S12单步调试问题求专家解答,程序如下:
void main(void)
{
PTS_PTS1=0;
PTS_PTS2=0;
PTS_PTS3=1;
PTS_PTS4=0;
DelayXms(3000);
FCNFG= 1;
PPAGE=0x20;
FlashPointer = &FlashAdr;
biao1_data=*(FlashPointer+0x0000);
if(biao1_data == Password)
{
COPCTL=0x05;
}
DDRT_DDRT1=0;
DDRT_DDRT2=0;
DDRT_DDRT3=0;
FCNFG= 1;
PPAGE=0x20;
FlashPointer = &FlashAdr;
biao1_data=*(FlashPointer+0x0000);
if(biao1_data != Password)//密码不通过,则写表格
{
.
...
}
以上程序在codewarrior中仿真单步运行,先进入主函数第一行
PTS_PTS1=0;
然后进入start12.c 做初始化
然后到main()函数外面
再单步执行就到 if(Table1_data == Password) (为什么先执行这个if语句呢?)
下一步单才到main()的第一行
PTS_PTS1=0;
开始初始化I/0
到这一行时
biao1_data=*(FlashPointer+0x0000);
再单步就先执行到主函数外面
再单步跳到 if(biao1_data != Password)
想问下子为什么不是顺序执行呢?而是先到main()函数外面,再跳回来到这一句执行?
void main(void)
{
PTS_PTS1=0;
PTS_PTS2=0;
PTS_PTS3=1;
PTS_PTS4=0;
DelayXms(3000);
FCNFG= 1;
PPAGE=0x20;
FlashPointer = &FlashAdr;
biao1_data=*(FlashPointer+0x0000);
if(biao1_data == Password)
{
COPCTL=0x05;
}
DDRT_DDRT1=0;
DDRT_DDRT2=0;
DDRT_DDRT3=0;
FCNFG= 1;
PPAGE=0x20;
FlashPointer = &FlashAdr;
biao1_data=*(FlashPointer+0x0000);
if(biao1_data != Password)//密码不通过,则写表格
{
.
...
}
以上程序在codewarrior中仿真单步运行,先进入主函数第一行
PTS_PTS1=0;
然后进入start12.c 做初始化
然后到main()函数外面
再单步执行就到 if(Table1_data == Password) (为什么先执行这个if语句呢?)
下一步单才到main()的第一行
PTS_PTS1=0;
开始初始化I/0
到这一行时
biao1_data=*(FlashPointer+0x0000);
再单步就先执行到主函数外面
再单步跳到 if(biao1_data != Password)
想问下子为什么不是顺序执行呢?而是先到main()函数外面,再跳回来到这一句执行?
kankan,想想
有时不准的,
专家解答 相关文章: