串口1按照开发板的试验,正常了,开始串口6做RS485通信试验,配置都按照串口1的中断配置,只是多了一个485模块的管脚配置,测试的时候发现,只能发送数据,不能接收,进入不了接收中断,很奇怪,测量了控制管脚,控制电平是正常的,就是进不了接收中断。代码改来改去的,就是进不去。晚上下班回去还在想,问题没解决,就是一直想问题。标准库里面,配置管脚的时候是接收和发射两个管脚分开配置的,HAL库就一起配置了
开发板的UART1的HAL配置也是分开配置的
GPIO_Initure.Pin=GPIO_PIN_9; //PA9
GPIO_Initure.Mode=GPIO_MODE_AF_PP; //复用推挽输出
GPIO_Initure.Pull=GPIO_PULLUP; //上拉
GPIO_Initure.Speed=GPIO_SPEED_FAST; //高速
GPIO_Initure.Alternate=GPIO_AF7_USART1; //复用为USART1
HAL_GPIO_Init(GPIOA,&GPIO_Initure); //初始化PA9
GPIO_Initure.Pin=GPIO_PIN_10; //PA10
HAL_GPIO_Init(GPIOA,&GPIO_Initure); //初始化PA10
然后cubemax生成的代码是一起配置的
GPIO_Initure.Pin=GPIO_PIN_6|GPIO_PIN_7;
GPIO_Initure.Mode=GPIO_MODE_AF_PP; //复用推挽输出
GPIO_Initure.Pull=GPIO_PULLUP; //上拉
GPIO_Initure.Speed=GPIO_S