This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C123GH6PZ:CAN1不工作

Guru**** 672920 points
Other Parts Discussed in Thread: TM4C123GH6PZ, TM4C1231H6PZ
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/937227/tm4c123gh6pz-can1-not-working

器件型号:TM4C123GH6PZ
主题中讨论的其他器件: TM4C1231H6PZ

大家好、当我尝试启用 CAN1 (SYSCTL_PERIPH_CAN1)时、它会被吸入、等待外设就绪、如果我为 CAN0 (SYSCTL_PERIPH_CAN0)运行相同、它运行正常、并且 CANCtlPeripheralPresent (SYSCTL_Periph_Sys1);返回"0"。

空 InitCAN1 (空){
//
//对于此示例、CAN0与端口 E4和 E5上的 RX 和 TX 引脚搭配使用。
//需要启用 GPIO 端口 E,以便可以使用这些引脚。
//
// SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);

//
//配置 GPIO 引脚复用以选择这些引脚的 CAN0功能。
//此步骤选择可用于这些引脚的替代功能。
//
GPIOPinConfigure (GPIO_PA0_CAN1RX);
GPIOPinConfigure (GPIO_PA1_CAN1TX);

//
//启用 GPIO 引脚上的复用功能。 以上步骤选择
//可用的备用功能。 此步骤实际上启用
//这些引脚的替代功能、而不是 GPIO。
//
GPIOPinTypeCAN (GPIO_Porta_base、GPIO_PIN_0 | GPIO_PIN_1);

//
//已为 CAN 设置 GPIO 端口和引脚。 CAN 外设
//必须启用。
//
uint32_t present;
Present = SysCtlPeripheralPresent (SYSCTL_Periph_CAN1);
SysCtlPeripheralEnable (SYSCTL_Periph_CAN1);

while (!SysCtlPeripheralReady (SYSCTL_Periph_CAN1))// new
{
}
//
//初始化 CAN 控制器
//
CANInit (CAN1_base);

//
//设置 CAN 总线的比特率。 此函数设置 CAN
针对标称配置的//总线时序。 您可以实现更多控制
//使用函数 CANBitTimingSet()代替 CAN 总线时序
//如果需要。
//在此示例中、CAN 总线设置为500kHz。
//
CANBitRateSet (CAN1_base、SysCtlClockGet ()、250000);

//
//在 CAN 外设上启用中断。 此示例使用静态
//分配中断处理程序,表示处理程序的名称
//位于启动代码的矢量表中。
//
CANIntRegister (CAN1_base、CANIntHandler);
CANIntEnable (CAN1_base、CAN_INT_MASTER | CAN_INT_ERROR | CAN_INT_STATUS);

//
//在处理器(NVIC)上启用 CAN 中断。
//
IntEnable (INT_CAN1);

//
//启用 CAN 以进行操作。
//

CANRetrySet (CAN1_BASE、0);//取消激活自动重发送

CANEnable (CAN1_base);
} 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您运行的是什么硬件? 是否确定使用 TM4C123GH6PZ 而不是 TM4C1236或 TM4C1237器件?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    抱歉、我收到了 tm4c1231H6pz、而不是 tm4c123GH6PZ、您可以删除此线程。

    谢谢