DSTATUS LPLD_Disk_Initialize(uint8 drv) { if(drv) return RES_PARERR; return LPLD_SDHC_InitCard(); }
void main (void) { uint32 i; //读写数据数组 uint8 sdhc_dat_buffer1[BUFFER_SIZE]; //SD卡操作返回值 SDHCRES sd_state; //关中断 DisableInterrupts; //SDHC初始化 sd_state = (SDHCRES)LPLD_SDHC_InitCard(); //开中断 EnableInterrupts; //判断SD卡操作状态 if (SDHCRES_OK == sd_state) { printf("\r\nSD init success.\r\n"); //读(多)扇区操作,并返回SD操作状态 sd_state = LPLD_SDHC_ReadBlocks(sdhc_dat_buffer1, 0, BLOCK_LEN); } else { printf("\r\nSD init failure.\r\n"); } //判断SD卡操作状态 if (SDHCRES_OK == sd_state) { printf("Read disk success.\r\n"); printf("SD data: \r\n"); //若读成功,打印该扇区内容 for(i = 0;i < BUFFER_SIZE;i++) { printf("%02X ", sdhc_dat_buffer1[i]); } printf("\r\n"); } else { printf("Read disk failed.\n\r"); } //判断SD卡操作状态 if (SDHCRES_OK == sd_state) { printf("Update data success.\r\n"); //更新数据数组,自加1 for (i = 0; i < BUFFER_SIZE; i++) { sdhc_dat_buffer1[i] ++; } //写(多)扇区操作,并返回SD操作状态 sd_state = LPLD_SDHC_WriteBlocks(sdhc_dat_buffer1, 0, BLOCK_LEN); } //判断SD卡操作状态 if (SDHCRES_OK == sd_state) { printf("Write Disk success.\r\n"); //再次读(多)扇区操作,并返回SD操作状态 sd_state = LPLD_SDHC_ReadBlocks(sdhc_dat_buffer1, 0, BLOCK_LEN); } else { printf("Write Disk failure.\r\n"); } //判断SD卡操作状态 if (SDHCRES_OK == sd_state) { printf("Read disk success.\r\n"); printf("SD data: \r\n"); //若读成功,打印该扇区内容 for(i = 0;i < BUFFER_SIZE;i++) { printf("%02X ", sdhc_dat_buffer1[i]); } printf("\r\n"); } else { printf("Read disk failure.\r\n"); } while(1) { } }