主题中讨论的其他器件: TCAN1043
工具与软件:
你(们)好
我使用的是 TDA4VH-Q1 EVM 板。 我正在尝试使用 MCU2_1 (即 R5F)来控制 MCAN3或 MCAN5。
我按如下所示更改了引脚多路复用并检查了 MCAN3_H、MCAN_L 引脚电压高达2.5V。
但是、我无法收到任何 CAN 消息。 如果有的话、请帮助我。
Board_IoExpCfg_t ioExpCfg[] = {
/*Set CANUART_MUX_SEL1 to LEVEL_HIGH*/
{
.i2cInst = BOARD_I2C_IOEXP_DEVICE1_INSTANCE,
.socDomain = BOARD_SOC_DOMAIN_MAIN,
.slaveAddr = BOARD_I2C_IOEXP_DEVICE1_ADDR,
.enableIntr = false,
.ioExpType = TWO_PORT_IOEXP,
.portNum = PORTNUM_1,
.pinNum = PIN_NUM_4,
.signalLevel = GPIO_SIGNAL_LEVEL_HIGH,
},
{
.i2cInst = BOARD_I2C_IOEXP_DEVICE2_INSTANCE,
.socDomain = BOARD_SOC_DOMAIN_MAIN,
.slaveAddr = BOARD_I2C_IOEXP_DEVICE2_ADDR,
.enableIntr = false,
.ioExpType = THREE_PORT_IOEXP,
.portNum = PORTNUM_0,
.pinNum = PIN_NUM_7,
.signalLevel = GPIO_SIGNAL_LEVEL_LOW,
},
/*Set CANUART_MUX1_SEL0 to LEVEL_HIGH */
{
.i2cInst = BOARD_I2C_IOEXP_DEVICE2_INSTANCE,
.socDomain = BOARD_SOC_DOMAIN_MAIN,
.slaveAddr = BOARD_I2C_IOEXP_DEVICE2_ADDR,
.enableIntr = false,
.ioExpType = THREE_PORT_IOEXP,
.portNum = PORTNUM_1,
.pinNum = PIN_NUM_5,
.signalLevel = GPIO_SIGNAL_LEVEL_HIGH,
},
/*Set CANUART_MUX2_SEL0 to LEVEL_HIGH */
{
.i2cInst = BOARD_I2C_IOEXP_DEVICE2_INSTANCE,
.socDomain = BOARD_SOC_DOMAIN_MAIN,
.slaveAddr = BOARD_I2C_IOEXP_DEVICE2_ADDR,
.enableIntr = false,
.ioExpType = THREE_PORT_IOEXP,
.portNum = PORTNUM_1,
.pinNum = PIN_NUM_6,
.signalLevel = GPIO_SIGNAL_LEVEL_HIGH,
},
/*Set CANUART_MUX_SEL1 to LEVEL_HIGH*/
{
.i2cInst = BOARD_I2C_IOEXP_DEVICE2_INSTANCE,
.socDomain = BOARD_SOC_DOMAIN_MAIN,
.slaveAddr = BOARD_I2C_IOEXP_DEVICE2_ADDR,
.enableIntr = false,
.ioExpType = THREE_PORT_IOEXP,
.portNum = PORTNUM_1,
.pinNum = PIN_NUM_7,
.signalLevel = GPIO_SIGNAL_LEVEL_HIGH,
},
};
for (int i = 0; i < sizeof(ioExpCfg) / sizeof(ioExpCfg[0]); i++) {
status = Board_control(BOARD_CTRL_CMD_SET_IO_EXP_PIN_OUT, &ioExpCfg);
}




