OpenEdv-开源电子网

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

问个SPI FLASH写入数据的小问题

[复制链接]

13

主题

314

帖子

0

精华

高级会员

Rank: 4

积分
713
金钱
713
注册时间
2012-7-20
在线时间
102 小时
发表于 2012-8-11 18:03:03 | 显示全部楼层 |阅读模式
RT,原子SPI例程有写入数据的函数
void SPI_Flash_Write(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite)
尝试着写入具体数值,发现 u8* pBuffer 不能改成具体数值
 s32 temp=9999999;
 SPI_Flash_Write(temp,1000,32) 
现在如果我想写入一个signed long 的数值该怎么写入呢?
比如写入9999999 

互联网,智能设备爱好者,欢迎讨论任何有意思的想法。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-8-11 18:08:55 | 显示全部楼层
temp=9999999; 
SPI_Flash_Write(&temp,1000,4) ;
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

13

主题

314

帖子

0

精华

高级会员

Rank: 4

积分
713
金钱
713
注册时间
2012-7-20
在线时间
102 小时
 楼主| 发表于 2012-8-11 19:04:39 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
这样写报错了:
test.c(73): error:  #167: argument of type "u32 *" is incompatible with parameter of type "u8 *"
现在就是想把一个s32的变量temp写入SPI FLASH中,并且还能读出来,刚刚忘记问了,读要怎么读呢?
互联网,智能设备爱好者,欢迎讨论任何有意思的想法。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-8-11 20:11:54 | 显示全部楼层
加强制转换.

读取也类似.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

13

主题

314

帖子

0

精华

高级会员

Rank: 4

积分
713
金钱
713
注册时间
2012-7-20
在线时间
102 小时
 楼主| 发表于 2012-8-11 21:18:17 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
强制转换怎么做,百度下没找到,原子能说下吗?
读是不是设置个变量readdata,SPI_Flash_Read(u8* pBuffer,u32 ReadAddr,u16 NumByteToRead)
SPI_Flash_Read(readdata,1000,4)
互联网,智能设备爱好者,欢迎讨论任何有意思的想法。
回复 支持 反对

使用道具 举报

13

主题

314

帖子

0

精华

高级会员

Rank: 4

积分
713
金钱
713
注册时间
2012-7-20
在线时间
102 小时
 楼主| 发表于 2012-8-11 22:01:18 | 显示全部楼层
到底应该怎么做呢
互联网,智能设备爱好者,欢迎讨论任何有意思的想法。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-8-11 22:32:04 | 显示全部楼层
兄弟,你的c语言也太弱了点吧...
赶紧买本书多联系下.
temp=9999999;  
SPI_Flash_Write((u8*)&temp,1000,4) ;
这样就不会报警告了.
读类似,就是这样:
SPI_Flash_Read((u8*)&temp,1000,4);
依葫芦画瓢...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

13

主题

314

帖子

0

精华

高级会员

Rank: 4

积分
713
金钱
713
注册时间
2012-7-20
在线时间
102 小时
 楼主| 发表于 2012-8-12 12:58:31 | 显示全部楼层

回复【7楼】正点原子:
兄弟,你的c语言也太弱了点吧...
赶紧买本书多联系下.
temp=9999999;  
SPI_Flash_Write((u8*)&temp,1000,4) ;
这样就不会报警告了.
读类似,就是这样:
SPI_Flash_Read((u8*)&temp,1000,4);
依葫芦画瓢...

---------------------------------
这样写是不报错了,但是SPI数据是8位写入,上述方法写入8位数据正常,但是只要超过8位就写不入。
现在就是要往flash里写入一个32位的数据、
互联网,智能设备爱好者,欢迎讨论任何有意思的想法。
回复 支持 反对

使用道具 举报

27

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
300
金钱
300
注册时间
2012-9-11
在线时间
31 小时
发表于 2012-10-8 15:07:41 | 显示全部楼层
回复【8楼】shibusha:
---------------------------------
写四次不就写完了
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-10-9 02:01:56 | 显示全部楼层
回复【8楼】shibusha:
---------------------------------
我的代码就是可以读写32位数据的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2016-10-28
在线时间
30 小时
发表于 2017-12-14 14:42:45 | 显示全部楼层
s32 temp=9999999;
u8 memval[4]={0};
memcpy(memval,&temp,4);//通过内存拷贝的方法进行转换
SPI_Flash_Write(memval,1000,4) ;
回复 支持 反对

使用道具 举报

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2017-12-14
在线时间
32 小时
发表于 2020-7-21 14:56:35 | 显示全部楼层
正点原子 发表于 2012-8-11 22:32
兄弟,你的c语言也太弱了点吧...
赶紧买本书多联系下.
temp=9999999;  
SPI_Flash_Write((u8*)&te ...

原子哥,学习C语言看哪本书比较好
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 11:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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