OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6801|回复: 14

求帮忙解决一个赋值的问题

[复制链接]

5

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2013-8-5
在线时间
0 小时
发表于 2013-8-30 10:24:14 | 显示全部楼层 |阅读模式
今天写代码的时候突然发现有个结构体无法赋值,然后我在结构体之前定义了一个u8 aa[1000],结构体能赋值,但是这个数组aa却无法赋值,调试了一下,aa数组首地址是0x20000EF4,结构体的首地址是0x200012DC。猜测是不是跟ram有关系呢?后来我又屏蔽了这个aa数组,结构体又不能赋值了。求各位帮忙解决一下,让小弟长点知识。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-30 10:25:26 | 显示全部楼层
回复 支持 反对

使用道具 举报

5

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2013-8-5
在线时间
0 小时
 楼主| 发表于 2013-8-30 10:54:06 | 显示全部楼层
由于代码比较大,所以就截取了几行关键的代码,还有调试的结果



接着就是查看aa[2]赋值和赋值后的情况







回复 支持 反对

使用道具 举报

5

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2013-8-5
在线时间
0 小时
 楼主| 发表于 2013-8-30 10:55:04 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,代码已上,请你查看下是什么问题
回复 支持 反对

使用道具 举报

25

主题

683

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1351
金钱
1351
注册时间
2012-4-25
在线时间
195 小时
发表于 2013-8-30 11:35:25 | 显示全部楼层
回复【4楼】hktlhtt:
---------------------------------
u8 (*addr1)  这是啥意思 函数指针?

把 u8 aa[1000] 的首地址 赋给 u8 (*addr1) ?
1-1
回复 支持 反对

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2013-8-30 11:40:27 | 显示全部楼层
额, 不用截图, 而是拍照。 好花!

是不是 栈溢出 了
回复 支持 反对

使用道具 举报

5

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2013-8-5
在线时间
0 小时
 楼主| 发表于 2013-8-30 11:41:31 | 显示全部楼层
回复【5楼】mygod:
---------------------------------
是的,就是想看看这个数组的首地址是多少
回复 支持 反对

使用道具 举报

5

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2013-8-5
在线时间
0 小时
 楼主| 发表于 2013-8-30 11:43:56 | 显示全部楼层
回复【6楼】aleda303:
---------------------------------
感觉不像。其实源代码里面只有PI,可是不能赋值。加了那个数组aa之后,PI才能赋值,不过aa不能赋值了。
回复 支持 反对

使用道具 举报

5

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2013-8-5
在线时间
0 小时
 楼主| 发表于 2013-8-30 11:45:53 | 显示全部楼层
回复【6楼】aleda303:
---------------------------------
如果不拍照的话,调试时数组的值截取不了
回复 支持 反对

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2013-8-30 14:21:41 | 显示全部楼层
回复【9楼】hktlhtt:

回复【6楼】aleda303:
---------------------------------
如果不拍照的话,调试时数组的值截取不了

---------------------------------
直接按键盘上面的 rintScreen按键,不影响任何操作。 弹出来的框也可以截取的到
回复 支持 反对

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2013-8-30 14:23:11 | 显示全部楼层
看地址的话, 直接 用 (u32)&aa 即可啊
PI是哪个变量
回复 支持 反对

使用道具 举报

5

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2013-8-5
在线时间
0 小时
 楼主| 发表于 2013-8-30 15:27:28 | 显示全部楼层
回复【11楼】aleda303:
---------------------------------
就是一个结构体,大小72个字节
回复 支持 反对

使用道具 举报

5

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2013-8-5
在线时间
0 小时
 楼主| 发表于 2013-8-30 16:40:51 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,我试了下,把aa和PI的地址给改变
u8 aa[1000] __attribute__ ((at(0X20001EF4)));
PI_Def I __attribute__ ((at(0X20003EF4)));
这样子的话这2个都能正常赋值。
我怀疑是不是RAM的前面1K字节的问题啊?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-30 18:01:53 | 显示全部楼层
局部数组太大了吧。放全局试试。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2013-8-5
在线时间
0 小时
 楼主| 发表于 2013-8-30 18:13:12 | 显示全部楼层
回复【14楼】正点原子:
---------------------------------
这个数组和PI都是全局变量。刚刚试了一下,定义了一个全局变量,地址为0x20000EF4(原来PI不能赋值的时候,PI的首地址就是0x20000EF4),发现也不能赋值。定义一个数组,首地址为0x20000EF4也一样不能赋值。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-14 03:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表