最近调一块板子,CAN0和1通讯始终有问题,用ZLG USBCAN收发都不行,用示波器测试单片机CAN0TX/RX脚有波形,我用的是PB4/5 PF1/0。9B95芯片为LM3S9B95IQC100B1DA,用的6M。
can 的初始化大致是这样的:
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
GPIOPinConfigure(GPIO_PB4_CAN0RX);
GPIOPinConfigure(GPIO_PB5_CAN0TX);
GPIOPinTypeCAN(GPIO_PORTB_BASE, GPIO_PIN_4 | GPIO_PIN_5);
SysCtlPeripheralEnable(SYSCTL_PERIPH_CAN0);
CANInit(CAN0_BASE);
CANBitRateSet(CAN0_BASE, 8000000, 250000);
CANEnable(CAN0_BASE);
CANIntEnable(CAN0_BASE, CAN_INT_MASTER | CAN_INT_ERROR);
CAN0ConfigureNetwork();
IntEnable(INT_CAN0);
除了 GPIOPinConfigure(GPIO_PB4_CAN0RX);
GPIOPinConfigure(GPIO_PB5_CAN0TX);
这两句外,其它的和我之前在LM3S8962上的一样的,8962上运行很好的。另外,设置PORTJ作为输出方式,也无法输出高低高低电平,设置为输入也不行,试了好久,很是郁闷。