嵌入式学习小组
直播中

李鸿洋

10年用户 908经验值
擅长:可编程逻辑
私信 关注

NUC230的GPIO复用成为UART时,必须去设置不同的IO复用在UART上吗?

请问一下各位大大,NUC230的GPIO复用成为UART时,必须去设置不同的IO复用在UART上,我看工程范例中写到

    /* Set GPB multi-function pins for UART0 RXD and TXD */
SYS->GPB_MFP &= ~(SYS_GPB_MFP_PB0_Msk | SYS_GPB_MFP_PB1_Msk);
SYS->GPB_MFP |= SYS_GPB_MFP_PB0_UART0_RXD | SYS_GPB_MFP_PB1_UART0_TXD;

想问为什么要如此操作,可以改写成下面方式执行嘛?

SYS->GPB_MFP = SYS_GPB_MFP_PB0_UART0_RXD | SYS_GPB_MFP_PB1_UART0_TXD;




回帖(1)

郭大

2024-5-21 17:28:14
是的,必须设置不同的IO复用在UART上,这是因为GPIO复用功能可以让同一根物理引脚连接到不同的外设上,因此需要显式地告知系统将哪些GPIO复用为UART功能。

至于你提到的将设置改写成SYS->GPB_MFP = SYS_GPB_MFP_PB0_UART0_RXD | SYS_GPB_MFP_PB1_UART0_TXD;的方式执行,理论上是可以的,因为这个设置也可以实现将PB0和PB1复用为UART的功能。但是注意,这种写法只适用于将GPIO全部复用为UART的情况,如果需要将其他功能的GPIO复用为UART,则必须按照工程范例中的方式逐一设置每个GPIO的复用功能。
举报

更多回帖

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