工具/软件:
由于某些测试要求、我需要将 SCIB 路由到不具有本机 SCI 功能的 GPIO。
因此、我决定使用 XBAR 实现它。
我想将 Tx (GPIO70)和 Rx (GPIO71)路由到 GPIO29和 GPIO30、并使用以下代码进行配置:
// ---------------------------SCIB Tx------------------------------
GPIO_setPinConfig(GPIO_70_SCIB_TX);
GPIO_setPadConfig(70, GPIO_PIN_TYPE_STD | GPIO_PIN_TYPE_PULLUP);
GPIO_setQualificationMode(70, GPIO_QUAL_ASYNC);
XBAR_setInputPin(INPUTXBAR_BASE, XBAR_INPUT1, 70);
XBAR_lockInput(INPUTXBAR_BASE, XBAR_INPUT1);
// ---------------------------SCIB New Tx-----------------------------
GPIO_setPinConfig(GPIO_29_OUTPUTXBAR6);
XBAR_setOutputMuxConfig(OUTPUTXBAR_BASE, XBAR_OUTPUT6, XBAR_OUT_MUX01_INPUTXBAR1);
XBAR_enableOutputMux(OUTPUTXBAR_BASE, XBAR_OUTPUT6,XBAR_MUX01);
XBAR_setOutputLatchMode(OUTPUTXBAR_BASE, XBAR_OUTPUT6, false);
XBAR_invertOutputSignal(OUTPUTXBAR_BASE, XBAR_OUTPUT6, false);
// ---------------------------SCIB Rx------------------------------
GPIO_setPinConfig(GPIO_71_SCIB_RX);
GPIO_setPadConfig(71, GPIO_PIN_TYPE_STD | GPIO_PIN_TYPE_PULLUP);
GPIO_setQualificationMode(71, GPIO_QUAL_ASYNC);
XBAR_setInputPin(INPUTXBAR_BASE, XBAR_INPUT2, 71);
XBAR_lockInput(INPUTXBAR_BASE, XBAR_INPUT2);
// ---------------------------SCIB New Rx-----------------------------
GPIO_setPinConfig(GPIO_30_OUTPUTXBAR7);
XBAR_setOutputMuxConfig(OUTPUTXBAR_BASE, XBAR_OUTPUT7, XBAR_OUT_MUX03_INPUTXBAR2);
XBAR_enableOutputMux(OUTPUTXBAR_BASE, XBAR_OUTPUT7,XBAR_MUX03);
XBAR_setOutputLatchMode(OUTPUTXBAR_BASE, XBAR_OUTPUT7, false);
XBAR_invertOutputSignal(OUTPUTXBAR_BASE, XBAR_OUTPUT7, false);
当我将 GPIO70或 GPIO29连接到 GPIO71时、RxBuff能够成功接收数据。
但是、当我将 GPIO70或 GPIO29连接到 GPIO30时、RxBuff不会接收到任何数据。
我使用示波器测量信号:
-
当 GPIO70或 GPIO29保持悬空(未连接到任何设备)时、我可以正确观察 TX 信号。
-
当 GPIO70或 GPIO29连接到 GPIO30时、无法检测到信号。
任何人都可以帮助我了解这种情况的原因、或者是否需要 GPIO30进行其他设置?
非常感谢!