1.2 初始化卡(HAL_MMC_InitCard) 1.2.1 初始化总线位宽、时钟(1bit线、速度400k以下)(SDMMC_Init) 1.2.2 卡时钟输出禁止(__HAL_MMC_DISABLE) 1.2.3 卡控制器电源使能(SDMMC_PowerState_ON) 1.2.4 卡时钟输出使能(__HAL_MMC_ENABLE) 1.2.5 等3ms(HAL_Delay(2)) 1.2.6 初始化卡电压(MMC_PowerON...
1.1 初始化GPIO(HAL_MMC_MspInit) 对外设控制器进行初始化,包括gpio,控制器参数,要使用的dma的配置。 1.2 初始化卡(HAL_MMC_InitCard) 1.2.1 初始化总线位宽、时钟(1bit线、速度400k以下)(SDMMC_Init) 1.2.2 卡时钟输出禁止(__HAL_MMC_DISABLE) 1.2.3 卡控制器电源使能(SDMMC_PowerState_ON) 1.2.4 ...
直接附上驱动代码,调用HAL库中的函数就行 SDMMC1初始化 void MX_SDMMC1_MMC_Init(void) { /* USER CODE BEGIN SDMMC1_Init 0 */ /* USER CODE END SDMMC1_Init 0 */ /* USER CODE BEGIN SDMMC1_Init 1 */ /* USER CODE END SDMMC1_Init 1 */ hmmc1.Instance = SDMMC1; hmmc1.Init....
在HAL_StatusTypeDef HAL_MMC_Init(MMC_HandleTypeDef *hmmc)函数中加入适当延时:HAL_StatusTypeDef HAL_...
Instance基地址:SDMMC寄存器基地址指针,所有参数都是指定基地址后才能正确写入寄存器。 Init初始化结构体:SDMMC的初始化结构体,下面会详细讲解每一个成员。 Lock:SDMMC锁资源。 pTxBuffPtr:用来存放发送数据地址的指针。 TxXferSize:用来指定需要发送数据的大小。 pRxBuffPtr:用来存放接受数据地址的指针。 RxXferSize...
87.2 SDMMC总线基础知识 87.2.1 SDMMC总线的硬件框图 认识一个外设,最好的方式就是看它的框图,方便我们快速的了解SDMMC的基本功能,然后再看手册了解细节。 通过这个框图,我们可以得到如下信息: sdmmc_ker_ck输入 SDMMC内核时钟。 sdmmc_hclk输入 AHB时钟。
if(HAL_DMA_Init(&hdma_sdio) != HAL_OK) {Error_Handler(); } __HAL_LINKDMA(&hmmc, hdmarx, hdma_sdio); if(HAL_MMC_ReadBlocks_DMA(&hmmc, pData, BlockAdd, NumberOfBlocks) != HAL_OK) {Status = HAL_ERROR; } return Status; ...
(1) Instance基地址:SDMMC寄存器基地址指针,所有参数都是指定基地址后才能正确写入寄存器。 (2) Init初始化结构体:SDMMC的初始化结构体,下面会详细讲解每一个成员。 (3) Lock:SDMMC锁资源。 (4) pTxBuffPtr:用来存放发送数据地址的指针。 (5) TxXferSize:用来指定需要发送数据的大小。 (6) pRxBuffPtr:用来...
在STM32H7外设驱动文件中,有4组文件不属于HAL(硬件抽象层),即stm32h7xx_ll_delayblock.c/.h、stm32h7xx_ll_sdmmc.c/.h、stm32h7xx_ll_fmc.c/.h、stm32h7xx_ll_usb.c/.h,它们属于Lower Layer(底层),这与HAL的思想有关,这四种硬件在STM32H7上全部位于底层工作,本身不适合直接抽象,或者其具有的功能...
显示屏幕(LCD)模块提供屏幕相关功能接口,调用者为上层应用模块(含 init、状态机、ui),上下文依赖关系,如图 3-7 所示。系统框架为 linux+Huawei LiteOS 双系统架构,媒体业务部署在 Huawei LiteOS 端,为了上电快速预览,需要屏幕需部署在 Huawei LiteOS。