1 STM32H743IIT 引脚说明
- STM32H7xxx 系统控制器有四个 USART和四个 UART,其中 USART1 和 USART6 的时钟来源于 APB2/PLL2_Q/PLL3_Q/HIS/CSI/LSE 时钟,其最大频率为 100MHz,其他六个的时钟来源于 APB1/PLL2_Q/PLL3_Q/HIS/CSI/LSE 时钟,其最大频率为 100MHz。UART只是异步传输功能,所以没有 SCLK。
2 中断请求及标志说明
- 使能发送中断(缓冲区空)
SET_BIT(_pUart->uart->CR1, USART_CR1_TXEIE);SET_BIT(_pUart->uart->CR1, USART_CR1_TCIE);- 使能RX接受非空中断
SET_BIT(UART4->CR1, USART_CR1_RXNEIE);- 读取数据寄存器非空/RXFIFO 非空
- 清除TC发送完成标志
ICR -> USART_ICR_TCCF - 清除RXNE接收标志
RQR-> USART_RQR_RXFRQ - 发送数据寄存器为空 TXE
- 发送完成 (Transmission complete) TC
3 串口FIFO实现细节
- .h
- .c
3.1 发送内容先放入缓冲区
3.2 接收内容先放入缓冲区
3.3 串口中断中启动寄存器发送