问答

汇集网友智慧,解决技术难题

刘十九

TA的家园币:22  

  • GD32F207串口进不去接收中断

    以下附上源码,求各位大佬解答voidUsart_Init(void){rcu_periph_clock_enable(RCU_AF);//使能AF时钟rcu_periph_clock_enable(RCU_GPIOD);//使能GPIO时钟rcu_periph_clock_enable(RCU_USART1);//使能串口时钟gpio_pin_remap_config(GPIO_USART1_REMAP,ENABLE);//重映射USART1管脚//引脚初始化:推挽输出,速度50MHz,PD5TXgpio_init(USART1_PORT,GPIO_MODE_AF_PP,GPIO_OSPEED_50MHZ,USART1_TX);//引脚初始化:浮空输入,速度50MHz,PD6,RXgpio_init(USART1_PORT,GPIO_MODE_IN_FLOATING,GPIO_OSPEED_50MHZ,USART1_RX);//串口配置usart_deinit(USART1);//复用USART1nvic_irq_enable(USART1_IRQn,0,0);//配置中断优先级usart_baudrate_set(USART1,9600);//波特率设置usart_word_length_set(USART1,USART_WL_8BIT);//8位数据位usart_stop_bit_set(USART1,USART_STB_1BIT);//1位停止位usart_parity_config(USART1,USART_PM_NONE);//无校验位//usart_hardware_flow_rts_config(USART1,USART_RTS_DISABLE);//配置RTS硬件控制流//usart_hardware_flow_cts_config(USART1,USART_CTS_DISABLE);//配置CTS硬件控制流usart_receive_config(USART1,USART_RECEIVE_ENABLE);//配置USART1接收usart_transmit_config(USART1,USART_TRANSMIT_ENABLE);//配置USART1发送usart_enable(USART1);//使能USART1usart_interrupt_enable(USART1,USART_INT_RBNE);//使能读缓冲区非空中断和溢出错误中断}/*函数:串口中断函数*/voidUSART1_IRQHandler(void){uint8_tres;//判断接收中断是否产生if(RESET!=usart_interrupt_flag_get(USART1,USART_INT_FLAG_RBNE)){usart_interrupt_flag_clear(USART1,USART_INT_FLAG_RBNE);//清除标志位res=(uint8_t)usart_data_receive(USART1);//读取数据//判断是否溢出if(ReadCount<USART_READ_BUF_SIZE){ReadBuf[ReadCount++=res;}timeout_flag=160;}//判断发送中断是否产生if(RESET!=us

    GD32 GD32F207 串口 接收 ar SAR

    2022-07-14 1