Other Parts Discussed in Thread:CONTROLSUITE
最近,板子在调试过程中, CAN通讯失败
之前MCU端口RX/TX使用PE0/PE1引脚,一直是好的
后面由于配置需要,把RX/TX调整到了PE6/PE7,CAN通讯失败
RX端口通过示波器看是有信号的,但debug发现软件实际未接收到
是否有其他配置需要进行变更
谢谢
Susan Yang:
Eric QI 说:RX端口通过示波器看是有信号的,但debug发现软件实际未接收到
请问能否详细描述一下?debug的时候您是如何观测的?RX端的信号是怎样的?
若是可以的话,请给出您修改部分的代码,谢谢
,
Eric QI:
配置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:
PE0 PE1是CAN-1的通信,而PE6和PE7是CAN-0的通信,您可以看一下数据手册的table4-1
,
Eric QI:
Susan,CAN0和CAN1确认吗,我们软件对此有疑问,见上图
,
Susan Yang:
在 (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:
Hi,Susan
上述配置我们用在PE0和PE1的时候,CAN通讯OK
现在尝试了PE6/PE7和PB4/PB5都是不行的,配置上会有什么差异吗
问题暂时没解决
,
Susan Yang:
请您看一下文档内的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,
上述配置我们改了,没什么用;
除了上面的配置,是否还存在其他配置需要变更
谢谢
,
Susan Yang:
没有其他的了。您使用的是开发板还是自制板?是否有其他模块使用了这个IO引脚?