OpenEdv-开源电子网

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

一个关于片上读写flash的指针问题

[复制链接]

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2015-1-12
在线时间
4 小时
发表于 2015-2-14 09:13:17 | 显示全部楼层 |阅读模式
5金钱
for(i=0;i<secremain;i++)//复制
{
    STMFLASH_BUF[i+secoff]=pBuffer;  
}

以上是原子哥写代码中的一段
在这个实验中要写入的是 u8 buffer【】,要强制转化成(u16*),然后再执行pBuffer的时候,不应该是加了两个字节吗?而原来的字符串数组里面是一字节一字节存储的,这样写进去为什么不会跳过一字节?

最佳答案

查看完整内容[请看2#楼]

如果是u16*,那么加加,就是2字节的偏移.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-2-14 09:13:18 | 显示全部楼层
如果是u16*,那么加加,就是2字节的偏移.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-2-14 17:23:55 | 显示全部楼层
首先你要理解强制转换的时候数据变成什么样的,可以实验一下就知道怎么回事了,u8强制转换为u6的话只是在前面加了几位而已,不会改变原来的属性
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2015-1-12
在线时间
4 小时
 楼主| 发表于 2015-2-16 07:59:26 | 显示全部楼层
回复【2楼】八度空间:
---------------------------------
请问一下什么叫加了几位不改变原来的属性?8位的指针变成16位的指针之后,加1不就是加了两个字节吗
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2015-1-12
在线时间
4 小时
 楼主| 发表于 2015-2-17 08:39:41 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子哥,那这样那个u8的数组偏移两个字节中间不是漏了一个吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-2-21 12:39:39 | 显示全部楼层
回复【5楼】StarFlying:
---------------------------------
上代码。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2015-1-12
在线时间
4 小时
 楼主| 发表于 2015-2-21 17:58:21 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
就是你给出的代码里面进行的操作,指针加1。u8的数组用u16的指针进行操作,那么每加一次,偏移两个字节,不是中间漏掉一个字符吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-2-26 22:24:28 | 显示全部楼层
回复【7楼】StarFlying:
---------------------------------
你实际测试下
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2015-2-27 08:51:00 | 显示全部楼层
指针与整型,强制类型转换结果是不一样的,指针还要考虑地址对齐。
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-25 18:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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