标题:
MC9S12XDP512在外扩模式下对外设访问,C编程遇到的问题
[打印本页]
作者:
wang_r00
时间:
2007-6-26 14:00
标题:
MC9S12XDP512在外扩模式下对外设访问,C编程遇到的问题
访问外设时用子函数,在主函数里调用该子函数,其执行结果是错的,如
int function(int * __far base_addr,int offset)
{
base_addr += offset;
ruturn(*base_addr);
}
main()
{
int *__far flash_addr;
int data;
flash_addr = (int *__far)&BASE_FLASH; //BASE_FLASH是定义的FLASH段起始地址
data = function(flash_addr,0x22);
}
但把子函数代码直接放在主函数里,执行结果就是对的,如:
main()
{
int *__far flash_addr;
int data;
flash_addr = (int *__far)&BASE_FLASH; //BASE_FLASH是定义的FLASH段起始地址
flash_addr += 0x22;
data = *flash_addr;
}
为什么,该程序是用CW4.6。
作者:
strongchen
时间:
2007-6-26 14:32
请参考这些帖子:
http://bbs.eccn.com/dispbbs.asp?boardID=3&RootID=104072&ID=104072
http://bbs.eccn.com/dispbbs.asp?boardID=3&RootID=104163&ID=104163
作者:
wang_r00
时间:
2007-6-26 15:37
我的意思是:把外设变量作为子函数的参数时,调用有问题,如直接把访问外设变量的代码放主程序里就没问题。
版主提供的帖子是如何设置编译环境,如何设置外设变量。
作者:
strongchen
时间:
2007-6-26 15:49
能否把整个project打包贴出来看看。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0