大家以前有成功用过NUC980的CAN接口吗?
硬件: NUC980DK61Y
软件:
RTT-Studio 官方基于NK-980IOT开发板的项目
使用的测试用例为RTT官方CAN文档中的样例。
操作:
配置芯片驱动外设为CAN2.
使用list_device查看,显示CAN2驱动已经注册成功。
can_dev = rt_device_find(“CAN2”);
res = rt_device_open(can_dev, RT_DEVICE_FLAG_INT_TX | RT_DEVICE_FLAG_INT_RX);
程序卡死在device_open中。
跟踪程序,发现卡死在CAN_LeaveInitMode(tCAN)。
调用链为:
nu_can_configure -> CAN_Open(base, cfg->baud_rate, u32CANMode) -> CAN_SetBaudRate(tCAN, u32BaudRate) -> CAN_LeaveInitMode(tCAN)。
最奇怪的是,CAN2的寄存器全是未初始化状态,并且无法写入任何值。
并且确认CAN2的外设时钟已经开启
注:
1。CAN0,1,2,3。均试过,相同的问题。
2。也使用 NUC980官方例程 NUC980_Non-OS_BSP_v1.03.000 试过,也是相同的问题。
更多回帖