在你的这款F103RGTx上不行。我打开CubeMx看了一下,PB10和PB11只支持复用到USART3,而不支持USART2。
芯片的引脚支持的复用功能有固定的范围,在CubeMX中点击一下某引脚,可以列出其支持的所有功能。
另外,在drv_usart.c中,关于中断部分的写法是这样的:
#if defined(BSP_USING_UART1)
void USART1_IRQHandler(void)
{
/* enter interrupt */
rt_interrupt_enter();
uart_isr(&(uart_obj[UART1_INDEX].serial));
/* leave interrupt */
rt_interrupt_leave();
}
.....
.....
#endif /* BSP_USING_UART1 */
虽说BSP_USING_UART1只是个标号而已,但是它在底层与中断向量、DMA中断向量有关。
因此,无论是从硬件层面,还是软件层面,都不能将PB10、PB11设置为USART2。
在你的这款F103RGTx上不行。我打开CubeMx看了一下,PB10和PB11只支持复用到USART3,而不支持USART2。
芯片的引脚支持的复用功能有固定的范围,在CubeMX中点击一下某引脚,可以列出其支持的所有功能。
另外,在drv_usart.c中,关于中断部分的写法是这样的:
#if defined(BSP_USING_UART1)
void USART1_IRQHandler(void)
{
/* enter interrupt */
rt_interrupt_enter();
uart_isr(&(uart_obj[UART1_INDEX].serial));
/* leave interrupt */
rt_interrupt_leave();
}
.....
.....
#endif /* BSP_USING_UART1 */
虽说BSP_USING_UART1只是个标号而已,但是它在底层与中断向量、DMA中断向量有关。
因此,无论是从硬件层面,还是软件层面,都不能将PB10、PB11设置为USART2。
举报