如何将一个数组存储到spi flash(如w25p16)中,单片机又要如何读取这个数组。数组为in
答案:6 悬赏:0 手机版
解决时间 2021-11-12 19:34
- 提问者网友:别再叽里呱啦
- 2021-11-12 05:05
如何将一个数组存储到spi flash(如w25p16)中,单片机又要如何读取这个数组。数组为in
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-11-12 06:07
很简单 如 int a[0] uchar a0h = a[0]>>8; a0L = a[0]; 这样就分开成单字节数 可以存储了。
还有一个方法顶一个联合体
union
{
int a_i[10];
unsigned char b_c[20];
} test.
把数组的值直接 赋给 test.a_i[10],然后利用写字节程序吧 test.b_c[20],写入flash,
读出数据时,把独处的数据给 test.b_c[20],需要整型数 直接去读 test.a_i 就可以了!
还有一个方法顶一个联合体
union
{
int a_i[10];
unsigned char b_c[20];
} test.
把数组的值直接 赋给 test.a_i[10],然后利用写字节程序吧 test.b_c[20],写入flash,
读出数据时,把独处的数据给 test.b_c[20],需要整型数 直接去读 test.a_i 就可以了!
全部回答
- 1楼网友:千杯敬自由
- 2021-11-12 10:43
我一回答就被屏蔽所以我也没法回答.
- 2楼网友:雪起风沙痕
- 2021-11-12 10:10
我搞过sd卡的追答我觉得你把这个芯片的驱动程序写出来就行了,根据数据手册
- 3楼网友:玩家
- 2021-11-12 08:33
春夜喜雨(杜甫)
- 4楼网友:夜风逐马
- 2021-11-12 08:13
如果你会对FLASH读写,就很容易解决。存储时顺序读出数组数据,由于是整形数,所以要变换,用除法配合取模运算或者用与运算配合移位运算都能得到两个8位的结果,然后按字节写入FLASH;读出时还要组合成整型变量,用移位和或运算解决,再顺序赋值给数组。
- 5楼网友:思契十里
- 2021-11-12 07:22
这个W25Q16的Flash存储器网上现成代码可以直接调用的,首先把要写的数据,按照顺序在Flash指定地址顺序开始写入.
然后在写入的Flash指定地址开始读取。
例如写入字符串“123456789”
写入Flash 0x10000地址
读取0x10000地址数据是1
读取0x10001地址数据是2
读取0x10002地址数据是3
......................
然后在写入的Flash指定地址开始读取。
例如写入字符串“123456789”
写入Flash 0x10000地址
读取0x10000地址数据是1
读取0x10001地址数据是2
读取0x10002地址数据是3
......................
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯