本帖最后由 bjmsnysw 于 2016-10-9 22:24 编辑  
 
0-16M,可是改为从倒数10的地址开始写,为什么读出也会有那么多字节呢?(读的时候也是从倒数10开始读的)。原子在吗? 
        while(1) 
        { 
                key=KEY_Scan(0); 
                if(key==KEY1_PRES)        //KEY1按下,写入W25QXX 
                { 
                        LCD_Fill(0,170,239,319,WHITE);//清除半屏     
                         LCD_ShowString(30,170,200,16,16,"Start Write W25Q128....");  
                        W25QXX_Write((u8*)TEXT_Buffer,FLASH_SIZE-10,SIZE-1);                        //从倒数第100个地址处开始,写入SIZE长度的数据 
                        LCD_ShowString(30,170,200,16,16,"W25Q128 Write Finished!");        //提示传送完成 
                } 
                if(key==KEY0_PRES)        //KEY0按下,读取字符串并显示 
                { 
                         LCD_ShowString(30,170,200,16,16,"Start Read W25Q128.... "); 
                        W25QXX_Read(datatemp,FLASH_SIZE-10,SIZE-2);                                        //从倒数第100个地址处开始,读出SIZE个字节 
                        LCD_ShowString(30,170,200,16,16,"The Data Readed Is:  ");        //提示传送完成 
                        LCD_ShowString(30,190,200,16,16,datatemp);//显示读到的字符串 
                } 
                i++; 
                delay_ms(10); 
                if(i==20) 
                { 
                        LED0=!LED0;//提示系统正在运行         
                        i=0; 
                }         
 
 |