摘要:本文主要向大家介绍了Flash基础入门的读写FLASH的方法,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。
本文主要向大家介绍了Flash基础入门的读写FLASH的方法,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。
将需要存储的不同数据类型的变量作为结构体变量的元素,整体读取和写入,see code.
#include <stdio.h>#include <malloc.h> typedef struct { char i; int j; float k; char a[10]; int b[10]; float c[10]; }FLASH; void Write_buff(unsigned char *des_addr,unsigned char *source_addr,int cnt){ for(;cnt>0;cnt--) { *des_addr++ = *source_addr++; } } void Read_buff(unsigned char *des_addr,unsigned char *source_addr,int cnt){ for(;cnt>0;cnt--) { *des_addr++ = *source_addr++; } } int main(){ char i,j; FLASH flash_1,flash_2; flash_1.i=10; flash_1.j=20; flash_1.k=30; for(i=0;i<10;i++) { flash_1.a[i] = 'a'+i; flash_1.b[i] = 0x11111100+i; flash_1.c[i] = 3.0+(float)i/10.0; } char *buff = malloc(100); Write_buff(buff,&flash_1.i,sizeof(FLASH)); Read_buff(&flash_2.i,buff,sizeof(FLASH)); printf("%d %d %f\r\n",flash_2.i,flash_2.j,flash_2.k); for(;j<3;j++) { for(i=0;i<10;i++) { if(j==0) printf("%c ",flash_2.a[i]); else if(j==1) printf("0x%8x ",flash_2.b[i]); else if(j==2) printf("%.1f ",flash_2.c[i]); } printf("\r\n"); } }
代码功能
· 1:动态申请100个字节大小的buff,认为buff是FLASH中的一段内存;
· 2:将flash_1中需要存储的元素整体写入FLASH,然后从FLASH中读取sizeof(FLASH)大小的数据赋值给flash_2,最终打印flash_2元素验证;
· 3:Write_buff、Read_buff函数参数中源地址和目标地址须是char型变量,因为是取地址(指针),地址作为实参时,指针所指的数据类型被强制转换成char型,才能和FLASH中数据储存形式一致;
· 4:此代码已在ubuntu10.04上验证;
本文由职坐标整理并发布,了解更多内容,请关注职坐标常用软件Flash频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号