[STC单片机] STC12C2052AD中断中读取程序存储器中数据错误

[复制链接]
1137|5
 楼主| bossrowe 发表于 2018-9-4 12:55 | 显示全部楼层 |阅读模式
大家好,请教一个问题,我用STC12C2052AD写了段程序,在中断中遍历一个整型数组中的数据并判断,但是如果在定义前加上code关键字,判断就会出问题,不加code关键字就可以,但是如果数组太大不加code又不行。问下大家遇到这种情况是怎么处理的。另外请教一下大家在keil中,中断程序怎么单步执行?谢谢!
int code temp[] = {        2866, 2796, 2727, 2661, 2596, 2533, 2471, 2411, 2353, 2297, 2242, 2188, 2136, 2085, 2036,
                                    1987, 1941, 1895, 1851, 1807, 1765, 1724, 1684, 1645, 1607, 1570, 1535, 1499, 1465, 1432,
                                    1400, 1368, 1337, 1307, 1278, 1249, 1221, 1194, 1168, 1142, 1117, 1092, 1068, 1045, 1022,
                                    1000, 978, 957, 937, 916, 897, 878, 859, 841, 823, 805, 788, 772, 756, 740, 724, 709, 695,};
void test() interrupt 5 using 1
{
    .........
    .........
}
ningling_21 发表于 2018-9-4 14:06 | 显示全部楼层
int code temp[]

改为

code int temp[]

评论

太感谢了,就是这个造成的,再请教一下code在前在后有什么区别吗,编译的时候也没有报错啊,另外还想请教要一下你在keil里面怎么可以打断点到中断函数中来单步运行?  发表于 2018-9-4 15:54
coody 发表于 2018-9-4 15:24 | 显示全部楼层
经常这样用,没碰到过问题,各种固定的表格就是这养的啊。

评论

可以问一下你在keil中怎么可以打断点到中断函数中单步运行呢?  发表于 2018-9-4 16:03
嗯,我按照ningling的指点把code关键字挪到定义的最前面去了,就可以了,不知道什么原因。  发表于 2018-9-4 16:02
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

10

帖子

0

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