TI中文支持网
TI专业的中文技术问题咨询交流网站

F28M35H52C CAN通讯失败

最近,板子在调试过程中, CAN通讯失败

之前MCU端口RX/TX使用PE0/PE1引脚,一直是好的

后面由于配置需要,把RX/TX调整到了PE6/PE7,CAN通讯失败

RX端口通过示波器看是有信号的,但debug发现软件实际未接收到

是否有其他配置需要进行变更

谢谢

Susan Yang:

Eric QIRX端口通过示波器看是有信号的,但debug发现软件实际未接收到

请问能否详细描述一下?debug的时候您是如何观测的?RX端的信号是怎样的?

若是可以的话,请给出您修改部分的代码,谢谢

Eric QI:

回复 Susan Yang:

配置GPIOPinConfigure(GPIO_PE0_CAN0RX)GPIOPinConfigure(GPIO_PE1_CAN0TX)GPIOPinTypeCAN(GPIO_PORTE_BASE,GPIO0 | GPIO1)寄存器显示如上图所示CAN通讯连接正常其他不变将其修改为GPIOPinConfigure(GPIO_PE6_CAN0RX)GPIOPinConfigure(GPIO_PE7_CAN0TX)GPIOPinTypeCAN(GPIO_PORTE_BASE,GPIO6 | GPIO7)寄存器如下所示,修改后CAN通讯连接不上

麻烦请指出修改引脚配置后还需要变更那些配置,非常感谢

Susan Yang:

回复 Eric QI:

PE0 PE1是CAN-1的通信,而PE6和PE7是CAN-0的通信,您可以看一下数据手册的table4-1

Eric QI:

回复 Susan Yang:

Susan,CAN0和CAN1确认吗,我们软件对此有疑问,见上图

Susan Yang:

回复 Eric QI:

在 (M3 Primary Modes) ,CAN0和CAN1和您的描述是一致的。请问您现在进展如何了?

是否有尝试使用controlSUITE\device_support\f28m35x\v220\F28M35x_examples_Master\can_loopback来测试一下?请修改例程中的
// TODO: change this to whichever GPIO port you are usingSysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
// TODO: change this to select the port/pin you are usingGPIOPinConfigure(GPIO_PB4_CAN0RX);GPIOPinConfigure(GPIO_PB5_CAN0TX);
// TODO: change this to match the port/pin you are usingGPIOPinTypeCAN(GPIO_PORTB_BASE, GPIO_PIN_4 | GPIO_PIN_5);

Eric QI:

回复 Susan Yang:

Hi,Susan
上述配置我们用在PE0和PE1的时候,CAN通讯OK
现在尝试了PE6/PE7和PB4/PB5都是不行的,配置上会有什么差异吗
问题暂时没解决

Susan Yang:

回复 Eric QI:

请您看一下文档内的4.1 GPIO Reconfiguration 以及 4.1.1 How to Change the GPIO Assignment for the CAN Pins

www.ti.com/…/sprace5.pdf

Eric QI:

回复 Susan Yang:

Susan,
上述配置我们改了,没什么用;
除了上面的配置,是否还存在其他配置需要变更
谢谢

Susan Yang:

回复 Eric QI:

没有其他的了。您使用的是开发板还是自制板?是否有其他模块使用了这个IO引脚?

赞(0)
未经允许不得转载:TI中文支持网 » F28M35H52C CAN通讯失败
分享到: 更多 (0)