wdjh.net
当前位置:首页 >> 请教kEil C 里的结构数组怎么被函数参数带入其地址? >>

请教kEil C 里的结构数组怎么被函数参数带入其地址?

你是要对于整体的unsigned char型自增么?如果是的话可以使用这种结构,将其再包装一层,便于对于各个位或者整体进行查看: struct Bit_type{union{ unsigned char bit; struct {unsigned char bit0 : 1;unsigned char bit1 : 1;unsigned char b...

这些信息都可以在编译输出的.map文件中查阅。 百度嫌我字数不够

这是个函数指针数组。

按下面格式定义就好了 INT8U TempBuf [1024] __attribute__((at(0X20002000))) = {0}; 不过地址 0X20002000这些要看你自己的片子了 呵呵 尽量大点 避免冲突

"unsigned char code xdata init_data[300];这样应该可以"可以吗到底是定义在code区还是xdata区呢AT89S52总共才256字节RAM,定义300字节变量是不可能的,只能是表格了 查看原帖>> 求采纳

研究了一下这个问题。Keil报non-address/-constant initializer是正确的,因为advanceModeFun和advModeSetting是在同一级别初始化的,此时后者不可能知道前者的真实地址。 所以你的这个问题,暂时来看有两种解决方法: 其一,就是像你所说的,用...

在debug模式下,在你想看的变量上面点右键,应该有一叫add watch window(具体名字忘了,大概是这个),然后你单步执行,就可以在watch window看你的数组元素值了

在定义之后增加关键字 _at_ ,例如: unsigned char code buf[]={"a123456"} _at_ 0x2000; zhu注意空格

你的数组是常量还是变量? 你用的什么型号单片机?板上资源都有哪些? ……

楼上则正解 做单片机的话, 还是必须要了解一下其存储结构, 最起码得知道data idata xdata所指的存储区域 idata 指向的片内ram ,大小范围为256字节,所以你一个数组定义在idata段内,不能超过256字节,超过就会报错。 xdata指向的片外ram,大...

网站首页 | 网站地图
All rights reserved Powered by www.wdjh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com