首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于MC9S12程序单步运行

关于MC9S12程序单步运行

本帖最后由 aweiname2008 于 2012-7-7 09:05 编辑

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()函数外面,再跳回来到这一句执行?)
楼主辛苦了,MC9S12程序单步运行确实得学一下的,推荐一个看看种子净度台
中国粮油仪器网—打造中国最专业的粮油仪器网!
返回列表