SHOW:
|
|
- or go back to the newest paste.
1 | uint8_t BSP_SD_WriteBlocks_DMA(uint32_t *pData, uint32_t WriteAddr, | |
2 | uint32_t NumOfBlocks) | |
3 | { | |
4 | ||
5 | uint32_t tickstart = HAL_GetTick(); | |
6 | ||
7 | /* Write block(s) in DMA transfer mode */ | |
8 | if (HAL_SD_WriteBlocks_DMA(&_HSD, (uint8_t *) pData, WriteAddr, NumOfBlocks) | |
9 | != HAL_OK) | |
10 | { | |
11 | return MSD_ERROR; | |
12 | } | |
13 | ||
14 | // Polling DMA and SMDDC for end of transfer | |
15 | - | while((HAL_DMA_GetState(&hdma_sdmmc1_rx)!=HAL_DMA_STATE_READY)) { |
15 | + | while((HAL_DMA_GetState(&hdma_sdmmc1_tx)!=HAL_DMA_STATE_READY)) { |
16 | ||
17 | if((HAL_GetTick() - tickstart) >= SD_WAIT_TIMEOUT) | |
18 | { | |
19 | return HAL_TIMEOUT; | |
20 | } | |
21 | ||
22 | } | |
23 | ||
24 | tickstart = HAL_GetTick(); | |
25 | ||
26 | while((HAL_SD_GetState(&_HSD) != HAL_SD_STATE_READY)) { | |
27 | ||
28 | if((HAL_GetTick() - tickstart) >= SD_WAIT_TIMEOUT) | |
29 | { | |
30 | return HAL_TIMEOUT; | |
31 | } | |
32 | ||
33 | } | |
34 | ||
35 | return MSD_OK; | |
36 | } |