-
N32G455 RS485中断接收函数进入不了,请问是什么原因呀?
RS485能够发送数据,但是接收数据时一直进不了RS485中断函数,请大佬们指点一下voidRS485_Init(void){GPIO_InitTypeGPIO_InitStruct;USART_InitTypeUSART_InitStruct;NVIC_InitTypeNVIC_InitStruct;//使能时钟(USART2在APB1总线上)RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOA,ENABLE);RCC_EnableAPB1PeriphClk(RCC_APB1_PERIPH_USART2,ENABLE);//配置方向控制引脚PA1GPIO_InitStruct.Pin=RS485_EN_GPIO_PIN;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitPeripheral(RS485_EN_GPIO_PORT,&GPIO_InitStruct);GPIO_ResetBits(RS485_EN_GPIO_PORT,RS485_EN_GPIO_PIN);//默认接收模式//配置USART2TX引脚PA2(复用推挽输出)GPIO_InitStruct.Pin=GPIO_PIN_2;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_InitPeripheral(GPIOA,&GPIO_InitStruct);//配置USART2RX引脚PA3(浮空输入)GPIO_InitStruct.Pin=GPIO_PIN_3;GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_InitPeripheral(GPIOA,&GPIO_InitStruct);//USART参数配置USART_InitStruct.BaudRate=9600;//波特率;USART_InitStruct.WordLength=USART_WL_8B;USART_InitStruct.StopBits=USART_STPB_1;USART_InitStruct.Parity=USART_PE_NO;USART_InitStruct.HardwareFlowControl=USART_HFCTRL_NONE;USART_InitStruct.Mode=USART_MODE_RX|USART_MODE_TX;USART_Init(USART2,&USART_InitStruct);//使能接收中断USART_ConfigInt(USART2,USART_INT_RXDNE,ENABLE);USART_ConfigInt(USART2,USART_INT_IDLEF,ENABLE);//配置NVICNVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitStruct.NVIC_IRQChannel=USART2_IRQn;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=1;NVIC_InitStruct.NVIC_IRQChannelSubPriority=1;NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStruct);//使能U
2025-04-24 8