```c
在这里插入代码片
/*串口UART4初始化函数*/
void UART4_Init()
{
UART_InitTypeDef UART_InitStructure;
HT_CMU_ClkCtrl1Config(CMU_CLKCTRL1_UART4_7816_0EN, ENABLE); /*!< 使能UART0模块 */
HT_CMU->WPREG = 0xA55A; //第一复用功能(IOCFG=1,AFCFG=0)
HT_GPIOE->IOCFG |= 0x0006; //PE1 PE2 as TX4 RX4
HT_GPIOE->AFCFG &=(~0x0006);
UART_InitStructure.UART_Logic = UartLogicPositive; /*!< UART逻辑为正 */
UART_InitStructure.UART_StopBits = OneStopBits; /*!< 1位停止位 */
UART_InitStructure.UART_WordLength = WordLength_8Bits; /*!< 8位数据位 */
UART_InitStructure.UART_Parity = UartParity_Disable; /*!< 无校验 */
UART_InitStructure.UART_BaudRate = 2400; /*!< 波特率2400 */
UART_InitStructure.ReceiveEN = ENABLE; /*!< 接收使能 注:非中断使能 */
UART_InitStructure.SendEN = ENABLE; /*!< 发送使能 注:非中断使能 */
HT_UART_Init(HT_UART4, &UART_InitStructure); //初始化UART4 串口配置参数
HT_UART_ITConfig(HT_UART4,UART_UARTCON_RXIE,ENABLE); //使能UART4 串口中断
NVIC_EnableIRQ(UART4_IRQn); //打开UART4中断源
}
UART4中断入口函数
``
void UART4_IRQHandler()
{
if(SET == HT_UART_ITFlagStatusGet(HT_UART4, UART_UARTSTA_RXIF)) /*!< UART4接收中断 */
{
HT_UART_ClearITPendingBit(HT_UART4, UART_UARTSTA_RXIF); /*!< 清除中断标志 */
HT_UART_SendData(HT_UART4,HT_UART_ReceiveData(HT_UART4));//将接收的数据发送到 串口助手上显示
}
}
HT5009学习笔记----------------UART4串口
最新推荐文章于 2024-07-25 09:37:56 发布
本文详细介绍了如何使用STM32进行UART4的初始化配置,包括时钟使能、GPIO复用设置、串口参数配置以及中断的启用。在中断处理函数中,实现了接收到数据后立即回显的功能,有助于理解STM32的串口通信和中断系统。
摘要由CSDN通过智能技术生成