阿波罗板~调试之怪现象,求解惑!

2019-07-20 09:26发布

本帖最后由 dyxcrazy 于 2018-2-5 10:52 编辑

代码如下: STlink 调试时  调试到红 {MOD}代码时  if 条件都满足 为何没有进入到 下面函数 直接跳过去了,可能原因有哪些呢?@正点原子
               另外,之前也写成功过,转移的一个图片 结果还丢数据了,而且以前nandflash  里的文件 给我干没了。。。。有重大影响吗?
转移的图 如下:


#include "sys.h"
#include "delay.h"
#include "ff.h"
#include "lcd.h"
#include "sdram.h"
#include "nand.h"
#include "malloc.h"
u8* sd_fpath="0:/readme.txt";
u8* nand_fpath="2:/back.bmp";
u8* ufpath="3:/pic/back.bmp";
//u8* ufpath2="3:/testdir";
//u8* ufpath3="3:/testdir/test.txt";
FATFS fatsd;
FATFS fatflash;
FATFS fatnand;

FIL fileobj;
FRESULT fr;
UINT brs;

DIR dirobj;

void USBtoNandFlash(void)
{FIL fp;
        FRESULT fr;
        u8 *read_pic_buff;
        u8 *pic_buff;
        //u8 pic_buff[200]="aaaaaaaa1234566";
        //u8 write_pic_buff[255]="hello world!";
        u32 br,bw;
        u32 btr=100,btw=100;
        DIR dp;
        
        //read_pic_buff=mymalloc(SRAMEX,512*1024);         //申请一个扇区的缓存
        pic_buff=mymalloc(SRAMEX,512*1024);
        if(pic_buff==NULL)return;

        fr = f_open(&fp, (const TCHAR*)ufpath, FA_READ|FA_WRITE);
if(fr==FR_OK)
{        
        btr=f_size(&fp);
        fr=f_read(&fp,pic_buff,btr,&br);
}        
f_close(&fp);

        if(fr==FR_OK)
        {        
                btw=btr;
                fr = f_open(&fp, (const TCHAR*)nand_fpath, FA_READ|FA_WRITE|FA_CREATE_ALWAYS);
               
                if(fr==FR_OK)fr=f_write(&fp,pic_buff,btw,&bw);        
                if(fr==FR_OK)
                {
                        POINT_COLOR=RED;
                        LCD_ShowString(30,300,200,16,16,"Write pic successed    ");//写入成功
                }
                f_close(&fp);
        }
myfree(SRAMEX,pic_buff);
//f_closedir(&dp);
//fr=fr;
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。