大学生
最后登录1970-1-1
在线时间 小时
注册时间2015-7-30
|
楼主 |
发表于 2016-1-19 11:12:53
|
显示全部楼层
我这个函数,地址从0开始写就正确,但是从其他地址开始写就乱码了,为什么呢?
Sd_to_Flash(4096*60,846,0,"/zm3232.bin");
void Sd_to_Flash(u32 SectorAddr, uint16_t volume_k,uint16_t volume_b,unsigned char *file_name)
{
uint8_t buffer[1024];
uint16_t i=0,j=0;
uint16_t k4=0;
k4 = volume_k / 4;
//printf("\r\n please wait...\r\n");
//LCD_DispStr_1632WithoutMode(0,0,(uint8_t *)"please wait...",RED,BLACK);
for(i=0;i < k4+2; i++)
{
SPI_FLASH_SectorErase(SectorAddr + 4096*i);
}
if(volume_k > 0)
{
for(i=0; i < volume_k ; i++)
{
GetGBKCode_from_sd(buffer,1024,SectorAddr, file_name); /* è¡×ÖÄ£êy¾Y */
// for(j=0;j<1024;j++)
// printf("%c",buffer[j]);
SPI_FLASH_BufferWrite(buffer, SectorAddr, 1024);
SectorAddr +=1024;
}
}
if(volume_b > 0)
{
GetGBKCode_from_sd(buffer,volume_b,SectorAddr, file_name); /* è¡×ÖÄ£êy¾Y */
SPI_FLASH_BufferWrite(buffer, SectorAddr, volume_b);
}
// printf("\r\n OK!\r\n");
//LCD_DispStr_1632WithoutMode(0,0,(uint8_t *)"0k!",RED,BLACK);
} |
|