SD_WriteByte和SD_ReadByte这两个函数的主体区别不大,只是在发送数据时SD_WriteByte发送的是输入参数,而SD_ReadByte发送的是无意义的的SD_DUMMY_BYTE(0xFF)。对于这个读取数据过程也要调用库函数SPI_I2S_SendData发送一个无意义字节的原因是: SPI通讯协议的时钟由主机产生(即STM32),而STM32通过调用SPI_I2S_...
HAL_SD_CardInfoTypeDef SDCardInfo; void printf_sdcard_info(void) { uint64_t CardCap; //SD卡容量 HAL_SD_CardCIDTypeDef SDCard_CID; HAL_SD_GetCardCID(&hsd,&SDCard_CID); //获取CID HAL_SD_GetCardInfo(&hsd,&SDCardInfo); //获取SD卡信息 CardCap=(uint64_t)(SDCardInfo.LogBlockNbr)*...
8.勾选 FATFS 配置,选择 SD Card 编辑 9.配置SD卡检测引脚,有以下两种方案 方案一:选择一个输入IO,作为触发引脚 编辑 方案二:不配置输入IO,最后生成代码的时候无视警报即可,生成的代码会自动取消输入检测判断编辑 10.配置调试串口,用来打印信息,此处我选择USART1,大家可根据自己硬件环境自行选择编辑...
修改/etc/tinatest.json下的读写路径参数devfile,改成/mnt/SDCARD/xxx tt /base/storage/rwdev 跑测试时候的log: 代码语言:javascript 复制 root@TinaLinux:/# tt/base/storage/rwdevCOMMAND:rwdev-d0xFF00-d0xAA55-b 1m-s 10m-a0-a1-a2-l1/mnt/SDCARD/rwdev.tmprwdev:dowrite/read/verifyfordevices...
else if(SDCardInfo.CardVersion == CARD_V2_X) printf("Card Type:SDSC V2\r\n"); } break; case CARD_SDHC_SDXC:printf("Card Type:SDHC\r\n");break; default:break; } printf("Card ManufacturerID: %d \r\n",SDCard_CID.ManufacturerID); //制造商ID printf("CardVersion: %d \r\n",(u...
SD卡是嵌入式系统中最常见的存储器,不仅容量可以做的很大,并且接口通用,支持SPI/SDIO驱动,尺寸可供选择,能满足不同应用的要求。
SDIO初始化配置在sd_io_init()函数中,其中包括sd_init()初始化、sd_card_information_get()SD卡信息获取、sd_card_select_deselect()SD卡选择、sd_cardstatus_get()SD卡状态获取、sd_bus_mode_config()SD卡总线宽度配置以及sd_transfer_mode_config()SD卡通信模式配置,历程中选择了4线查询模式。
// printf("\r\n the card is locked!"); while (1){ } } if ((SD_OK == status) && (!(cardstate & 0x02000000))) { /* set bus mode */ status = sd_bus_mode_config(SDIO_BUSMODE_4BIT); // status = sd_bus_mode_config( SDIO_BUSMODE_1BIT ); ...
98 xil_printf("Success to open SD card!\n"); 99 100 len = strlen(src_str); //计算字符串长度 101 //SD卡写数据 102 sd_write_data(FILE_NAME,(u32)src_str,len); 103 //SD卡读数据 104 sd_read_data(FILE_NAME,(u32)dest_str,len); ...
f_puts("SD card write test!", &fil); f_close(&fil); }if(f_open(&fil,"test.txt", FA_READ) ==FR_OK) { f_gets(buff,sizeof(buff), &fil); f_close(&fil); } Res= f_mount(NULL,"",1);//取消挂载printf(buff);//打印sd卡读到得内容 ...