< Defines 'read / write' permissions */ 下面我们看下SDMMC的定义,在stm32h743xx.h文件。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 #definePERIPH_BASE(0x40000000UL)#defineD1_AHB1PERIPH_BASE(PERIPH_BASE+0x12000000UL)#defineD2_AHB2PERIPH_BASE(PERIPH_BASE+0x08020000UL)#defineSDMMC1_BAS...
}if(errorstate !=HAL_SD_ERROR_NONE) {/*清除所有静态标志*/__HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); hsd->ErrorCode |=errorstate; hsd->State =HAL_SD_STATE_READY; hsd->Context =SD_CONTEXT_NONE;returnHAL_ERROR; }/*查询SDMMC标志*/dataremaining=config.DataLength;while(!__HAL_SD_...
/* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); hsd->ErrorCode |= errorstate; hsd->State = HAL_SD_STATE_READY; hsd->Context = SD_CONTEXT_NONE; return HAL_ERROR; } /* Enable transfer interrupts */ __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL |...
= HAL_SD_ERROR_NONE) { /* 清除所有静态标志 */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); hsd->ErrorCode |= errorstate; hsd->State = HAL_SD_STATE_READY; hsd->Context = SD_CONTEXT_NONE; return HAL_ERROR; } /* 查询SDMMC标志 */ dataremaining = config.DataLength; while(!__...
下面我们看下SDMMC的定义,在stm32h743xx.h文件。 AI检测代码解析 #define PERIPH_BASE (0x40000000UL) #define D1_AHB1PERIPH_BASE (PERIPH_BASE + 0x12000000UL) #define D2_AHB2PERIPH_BASE (PERIPH_BASE + 0x08020000UL) #define SDMMC1_BASE (D1_AHB1PERIPH_BASE + 0x7000UL) ...
(39)staticconstchar*TAG="app_main";voidapp_main() {esp_err_terr=ESP_OK;/* Probe */sdmmc_host_tconfig=SDMMC_HOST_DEFAULT();ESP_LOGI(TAG,"Probe using SD 4-bit...\n");config.flags=SDMMC_HOST_FLAG_4BIT;config.max_freq_khz=SDMMC_FREQ_DEFAULT;sdmmc_slot_config_tslot_config=SD...
static esp_err_t sdmmc_init_sd_uhs1_volt_sw_cb(void* arg, int voltage_mv) { sdmmc_card_t* card = (sdmmc_card_t*)arg; ESP_LOGV(TAG, "%s: Voltage switch callback (%umv)", __func__, voltage_mv); return sd_pwr_ctrl_set_io_voltage(card->host.pwr_ctrl_handle, voltage_mv...
[0] (static): start: 80927000, extension/attributes: 0003e000, length: 0f6d5000 [1] (dynamic): start: 002d0000, extension/attributes: 00040800, length: 10000000 [2] (dynamic): start: 003d0000, extension/attributes: 00040800, length: 10000000 [3] (dynamic): start: 004d0000, extension/...
staticintmmc_bus_probe(structdevice*dev)ﻫ{ﻫstructmmc_driver*drv=to_mmc_driver(dev-〉driver);ﻫstructmmc_card*card=dev_to_mmc_card(dev);ﻫreturndrv—>probe(card);}在使用bus_register之后,我们可以在sysfs的/sys/bus名目里看到它staticstructclassmmc_host_class={...
return (card->host.flags & SDMMC_HOST_FLAG_SPI) != 0; } static inline uint32_t get_host_ocr(float voltage) { // TODO: report exact voltage to the card // For now tell that the host has 2.8-3.6V voltage range (void) voltage; return SD_OCR_VOL_MASK; ...