首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LPC 1768 CAN总线关闭错误

LPC 1768 CAN总线关闭错误
EN

Stack Overflow用户
提问于 2012-07-19 21:07:26
回答 2查看 2.3K关注 0票数 1

我正在使用恩智浦(datasheetuser manual)的LPC1768 ARM Cortex M3微控制器。我想在用户手册中“16.5.8 CAN控制器自检”一节中描述的自检模式下测试CAN总线外设,但它不起作用。

我尝试了these NXP examples,描述了on the NXP knowledgebase,并使用了恩智浦示例代码(can_self_test代码)。所有引脚配置运行正常,所有CAN总线配置和CAN总线消息帧也运行正常(逐个控制)。但是在这一步之后,在CAN1_Send函数中:

代码语言:javascript
运行
复制
CANx->CMR = 0x41;

设置错误标志。尽管如此,CAN1_Send还是返回了成功。

实际上,这个错误状态意味着“总线关闭错误”。‘'bus error’表示存在帧错误和CAN控制器错误。我测试了数据帧和CAN控制器。它起作用了。

我使用RS-232电缆连接CAN1和CAN2。对于自检,我使用CAN1。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-20 18:15:26

我不熟悉CAN控制器,但这种行为并不让我感到惊讶。如果您正在执行独立测试,那么尽管您正确地接收到了所发送的消息,但由于总线上没有其他节点,因此该消息将不会得到确认。控制器将重试一段时间,然后进入CAN spec第6节和第7节中描述的错误状态

票数 3
EN

Stack Overflow用户

发布于 2014-02-13 20:39:38

我在使用LPC1788时也遇到了同样的问题,这个问题与错误的CPU时钟设置有关。我错误地将CPU设置为以96 MHz的频率运行,我(也是错误的)认为CPU是以100 MHz的频率运行的。在这种情况下,CAN波特率配置不一致,CAN模块无法传输任何消息。然后,当我修复CPU时钟配置时,问题就解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11561543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档