配置sdio默认程序没有调用
HAL_SD_Init(&hsd1);
HAL_SD_ConfigWideBusOperation(&hsd1, SDMMC_BUS_WIDE_4B);
加在MX_SDMMC1_SD_Init后 即可;
配置SPI默认程序没有调用
__HAL_SPI_ENABLE(&hspix);
SPI1_WriteByte(0Xff);
加在spi初始化最后即可。
HAL_UART.C
static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
{
UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
/* DMA Normal mode */
if (HAL_IS_BIT_CLR(hdma->Instance->CCR, DMA_CCR_CIRC))
{
huart->TxXferCount = 0U;
/* Disable the DMA transfer for transmit request by resetting the DMAT bit
in the UART CR3 register */
CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
/* Enable the UART Transmit Complete Interrupt */
SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
/* Check if a transmit process is ongoing or not */
huart->RxState = HAL_UART_STATE_READY;//ADD
}
/* DMA Circular mode */
else
{
#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
/*Call registered Tx complete callback*/
huart->TxCpltCallback(huart);
#else
/*Call legacy weak Tx complete callback*/
HAL_UART_TxCpltCallback(huart);
#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
}
}