Flash基础入门:读写FLASH的方法
小标 2018-07-09 来源 : 阅读 2116 评论 0

摘要:本文主要向大家介绍了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频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程