嵌入式技术william hill官网
直播中

nhcp

15年用户 1135经验值
私信 关注
[问答]

使用RTThread studio时串口号和引脚是否需要对应?

请教一个串口号和引脚的问题:

在使用rtthread studio的时候,board.h内会定义串口。如下图所示:

2.jpg

一般情况下,uart1都是debug控制台串口,TX和RX引脚都是和cubeMX对应的。

用户在定义新的串口 uart2 uart3。。。的tx rx是否是一定要和cubeMX对应呢?

2.jpg

比如我将上图的uart2的tx rx用PB10 PB11 不用PA2 PA3 是否可行?

回帖(1)

杨静

2023-2-2 11:52:43
在你的这款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。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分