现代单片机MC96F6432Q,数组有问题!!!

2020-01-25 15:28发布

本帖最后由 sohappyoh 于 2013-12-13 15:44 编辑

用的是MC96F6432Q单片机,是51内核的,问了他们的FAE说:”这个问题是很正常的,因为是8位机嘛!所以你要把int数组拆成8位,要是有问题问keil公司!“真炒蛋!
我的数组定义如下:
unsigned int code battery_sheet[100] =
{
        2267,                //3.0990V
        2299,                //3.1436V
        2319,                //3.1711V
        2333,                //3.1898V
        2344,                //3.2051V
        2353,                //3.2174V
        2362,                //3.2297V
        2371,                //3.2410V
        2378,                //3.2513V
        2386,                //3.2615V
        2393,                //3.2710V
        2399,                //3.2801V
        2405,                //3.2880V
        2411,                //3.2957V
        2416,                //3.3030V



        ...  ...

        2828,                //3.8669V
        2837,                //3.8783V
        2846,                //3.8909V
        2855,                //3.9037V
        2865,                //3.9170V
        2875,                //3.9313V
        2886,                //3.9452V
        2896,                //3.9599V
        2908,                //3.9763V
        2922,                //3.9949V
        2938,                //4.0164V
        2959,                //4.0450V
};

在引用的时候出错了!!!!
2013-12-13_114811.png (30.38 KB, 下载次数: 0) 下载附件 2013-12-13 11:51 上传

PS: 优化等级原先是8,后来改成了0还是不行!
最新发现:在子程序里面调用没有问题!于是定义了一个专门的函数:
unsigned int ReadArray_BAT(unsigned char index)
{
return battery_sheet[index];
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
wxty
1楼-- · 2020-01-25 18:52
这个问题跟优化等级无关吧
sohappyoh
2楼-- · 2020-01-25 23:40
wxty 发表于 2013-12-13 13:02
这个问题跟优化等级无关吧

那是什么原因啊
sohappyoh
3楼-- · 2020-01-26 02:36
自己给机子顶一下

一周热门 更多>