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

为什么内存地址分配函数无法返回主函数?

为什么内存地址分配函数无法返回主函数?

先贴上一段程序,请高手看看,进入子程序分配地址映射后,执行完最后一条语句后,没法返回主程序,这倒底是怎么回事?我用的片子是MC9S12DP512。
void AddressSet_Init(void)
{
   //MEMSIZ0 = 0X26;          //Allocated System Register Space
                            //1 = Allocated system register space size is 2K byte
                            //0 = Allocated system register space size is 1K byte
   INITRG = 0x00;           //Special Register Base Address is set 0x0000,1K(0x0000--0x03FF)
   INITRM = 0x00;           //RAM Base Address is set 0x0000,上上对齐,14K,(0x0000--0x3800,0x000-0400 is invisible)
   INITEE = 0x31;           //EEPROM Base Address is set 0x3000,4K,(0x3000--0x3FFF  0x3000-0x3800 is invisible)
   MISC = 0x0F;             //Flash Rom Use the Second half space address
   PPAGE = 0x28;            //Page is set 40
}
如果在调用这段函数之前PPAGE的值不是0x28,你在此将其强行置数,当然就无法返回原址了。
海纳百川  有容乃大
返回列表