[ZLG-ARM] 一个古怪的问题,一个文件中定义的数组,在另外的...

[复制链接]
1945|3
 楼主| 火光 发表于 2007-9-5 22:06 | 显示全部楼层 |阅读模式
<br />我碰到这样一个问题:<br /><br />&nbsp;&nbsp;&nbsp;一个古怪的问题,一个文件中定义的数组,在另外的...<br /><br />&nbsp;&nbsp;&nbsp;比如A.C文件中定义了数组:<br /><br />&nbsp;&nbsp;&nbsp;unsigned&nbsp;char&nbsp;disp_buf[8]&nbsp;=&nbsp;{1,2,3,4,5,6,7,8}<br /><br />&nbsp;&nbsp;&nbsp;在另外的文件B.C中有这样的句子:<br />&nbsp;&nbsp;&nbsp;for&nbsp;(&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt&nbsp;8;&nbsp;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2C_BUF&nbsp;=&nbsp;disp_buf;<br /><br />&nbsp;&nbsp;&nbsp;B.C读出来的disp_buf数据就是不对...<br /><br />&nbsp;&nbsp;&nbsp;是不是和分散管理文件有关系?<br />&nbsp;&nbsp;&nbsp;I2C_BUF是在另外的文件里面定义的...<br />&nbsp;&nbsp;&nbsp;这个问题很苦恼啊!<br />&nbsp;&nbsp;&nbsp;<br /><br /><br />&nbsp;&nbsp;&nbsp;<br />
xwj 发表于 2007-9-5 22:31 | 显示全部楼层

1.要定义为全局变量;2.要用extern声明

  
 楼主| 火光 发表于 2007-9-5 22:38 | 显示全部楼层

没有用,我就是这样干的!

<br />&nbsp;&nbsp;但还是谢谢你啊,估计是那个分散管理文件作的怪!<br /><br />&nbsp;&nbsp;你在一个文件定义了数组<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;temp_var[8];&nbsp;&nbsp;&nbsp;这个时候可能是0X40000010开始的<br /><br />&nbsp;&nbsp;但当你在另一个文件用这个数组的时候<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt&nbsp;8;&nbsp;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my_int&nbsp;=&nbsp;temp_var;&nbsp;这时候可能temp_var&nbsp;从&nbsp;0X80000040开始了...<br /><br />&nbsp;&nbsp;&nbsp;这样就糟糕了<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 楼主| 火光 发表于 2007-9-6 20:25 | 显示全部楼层

问题解决,哈哈!!

<br />&nbsp;&nbsp;ADS上的一个设置问题...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

75

帖子

0

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