硬汉嵌入式论坛

 找回密码
 立即注册
查看: 511|回复: 6
收起左侧

[技术讨论] 51单片机的CAN通讯问题

[复制链接]

2

主题

5

回帖

11

积分

新手上路

积分
11
发表于 2023-11-9 11:47:33 | 显示全部楼层 |阅读模式
小弟刚从业,有一个问题想请教一下各位大佬。

就是我用的时C8051F040的芯片基于RTX51TINY使用CAN通信,但是当我加上一串代码后,我之前好的通信就崩掉了。而且这一串代码不拘泥一样的类型,我加一个数组左移,或者设置一个变量让他自增通讯都会崩掉,甚至我就加了一个NOP就崩了,删掉之后又好了, 我也尝试把代码精简,但是即使把之前的代码精简了,删了一堆东西,但是这个问题始终存在。想请问一下各位大佬这个该怎么处理啊?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2023-11-9 13:00:45 | 显示全部楼层
发你正常的代码和不正常的代码看下。
回复

使用道具 举报

2

主题

5

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2023-11-9 14:45:07 | 显示全部楼层
我的代码逻辑是这样的,通过CAN通信给从机发送指令,然后通过SPI发送相应的数据格式,再通过SPI返回的数据来进行下一步动作 屏幕截图 2023-11-09 143658.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2023-11-10 08:41:27 | 显示全部楼层
tftgd 发表于 2023-11-9 14:45
我的代码逻辑是这样的,通过CAN通信给从机发送指令,然后通过SPI发送相应的数据格式,再通过SPI返回的数据 ...

你的代码是SPI部分的,看不出CAN的问题。
回复

使用道具 举报

2

主题

5

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2023-11-10 16:31:42 | 显示全部楼层
eric2013 发表于 2023-11-10 08:41
你的代码是SPI部分的,看不出CAN的问题。

屏幕截图 2023-11-10 162843.png 屏幕截图 2023-11-10 162856.png 屏幕截图 2023-11-10 162924.png 硬汉哥,这是我CAN的初始化代码,我现在随便动点代码通信就崩了,一直显示错误被动
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2023-11-11 08:53:06 | 显示全部楼层
tftgd 发表于 2023-11-10 16:31
硬汉哥,这是我CAN的初始化代码,我现在随便动点代码通信就崩了,一直显示错误被动

这个看着也没什么问题。 也没有大的局部变量。
回复

使用道具 举报

2

主题

5

回帖

11

积分

新手上路

积分
11
 楼主| 发表于 2023-11-13 15:26:19 | 显示全部楼层
eric2013 发表于 2023-11-11 08:53
这个看着也没什么问题。 也没有大的局部变量。

硬汉哥,我的状态寄存器显示是帧形态错误,当我发送一个帧后我的错误寄存器就满了,用示波器抓了一下发现一下发了很多帧。会不会是我的波特率设置的不精准的缘故?但是我其他没用RTX51TINY的板子也用的这个波特率也可以通信
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-4 01:27 , Processed in 0.191615 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表