关于STC8H3K64S2单片机内部RAM的问题
STC8H手册上介绍说内部直接访问RAM是128字节,在keil里面定义的关键字是data。内部间接访问RAM是128字节,关键字是idata。我定义了一个128字节的idata数组,从编译器编译的情况来看,keil编译器生成的地址,idata和data的地址是连续性的。xdata的地址是单独的。
我想问的是,如果data和idata的地址是连续的,那么我定义超过128字节的idata变量可行吗?我定义试了,不报错。而且我定义128字节的idata变量,实际idata区用了129个字节,也是正常的。
想问问前辈们有没有懂的可以介绍下,谢谢!
stc的所有单片机都是52标准的,也就是说idata可以支持到256字节,data类型的不能超过128字节,从0x80开始是特殊功能寄存器,和RAM地址重叠,只能用idata类型(间接寻址) yefeng 发表于 2024-1-26 15:07
stc的所有单片机都是52标准的,也就是说idata可以支持到256字节,data类型的不能超过128字节,从0x80开始是 ...
官方手册是128字节哎 本帖最后由 21cnsound 于 2024-1-26 16:50 编辑
你的IDATA用了129BYTE,IDADA占用分别是:
0037H开始的80H个字节----分两段:0037H到007FH实际是把DATA当IDATA用了,0080H-00B6是IDADA用于IDATA
00B7开始的01H个字节-----这里是IDADA用于IDATA
页:
[1]