STM8L的bootload中断向量表重映射
DMA传输完成后,串口与DMA一直处于忙状态
STM32F407VET6 能适配哪些FATFS版本文件
STM32H7A3VGTA QSPI读W25Q128J DMA模式不能工作
使用CubeMx第二次生成的代码编译时报错
//STM32H7A3VGT6 QSPI的DMA方式无法正常工作
HAL_TIM_IC_Start_DMA的回调函数是HAL_TIM_IC_CaptureCpltCallback吗?为什么进不去?
STM32G473RC timer8的CCDS bit, Capture/Compare DMA selection.
STM32H7+SAI+DMA双缓冲配置失败.
利用stm32f412 的SPI 的DMA 模式读取外部ADC数据如何提高效率
微信公众号
手机版
仿真对比过huart1 前后的寄存器 ,是一样的;初始化函数直接使用MX_USART1_UART_Init
仿真看过IO的配置正常。
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
GPIO_InitStruct.Pin = GPIO_PIN_10;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
void PA10_GPIO_MODE_INPUT(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_10);
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pin = GPIO_PIN_10;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
set_reset_uart1_flag;
}
void restart_uart1_io_func(void)
{
HAL_NVIC_DisableIRQ(EXTI15_10_IRQn);
PA10_GPIO_MODE_INPUT();
MX_USART1_UART_Init();
uart1_dma_func();
}
void disable_uart1_io_func(void)
{
HAL_UART_DMAStop(&huart1);
HAL_UART_MspDeInit(&huart1);
PA10_GPIO_MODE_IT_RISING();
HAL_NVIC_SetPriority(EXTI15_10_IRQn, 1, 1);
HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
}
用的就是MX生成的代码 MX_USART1_UART_Init
如果用了应该不会有问题的。你现在看串口寄存器和IO的寄存器。串口寄存器的DR是否正常能够显示内容,如果是正常的,看一下huart1的结构里面,是否有产生接收溢出的情况。测试发送是否正常。
UART1的DR 没有变化,