[开发工具] MDK编译这段代码居然会引起Memory Manage exception

[复制链接]
2815|3
 楼主| ddb_21ic 发表于 2009-8-24 01:12 | 显示全部楼层 |阅读模式
MDK, ce, ge, IO, TI
void        rs232_hex_u32(u32 x32)
{
        u8 x4, x3, x2, x1;

        x4 = (x32 >> 24) & 0xFF;
        x3 = (x32 >> 16) & 0xFF;
        x2 = (x32 >> 8 ) & 0xFF;
        x1 = (x32      ) & 0xFF;

        rs232_hex_u8(x4);         
        rs232_hex_u8(x3);         
        rs232_hex_u8(x2);          
        rs232_hex_u8(x1);       
}
 楼主| ddb_21ic 发表于 2009-8-24 01:14 | 显示全部楼层
在程序中有些地方调用没问题
有些地方调用就不行
但是这段代码确实很简单
程序才13KB左右
香水城 发表于 2009-8-24 08:28 | 显示全部楼层
检查一下堆栈是否溢出了。

还有这个函数rs232_hex_u8()的内容是个未知数??
 楼主| ddb_21ic 发表于 2009-8-25 11:03 | 显示全部楼层
直接换用RIDE7,编译由12KB减少到5.4KB
运行正常
悄悄说,MDK是用的D版
您需要登录后才可以回帖 登录 | 注册

本版积分规则

107

主题

1124

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部