newlined 发表于 2023-12-8 10:56:27

关于STC32G芯片CAN的使用,请教

本帖最后由 newlined 于 2023-12-8 11:14 编辑

我看了官网给出的CAN标准帧的传输例程,有一个疑问请教下:TX_BUF应该是发送数组,RX_BUF应该是接收数组,我手头有两块带STC32G的板子,一块做发送端,一块做接收端,两块板子通过CAN收发器相连,我把程序稍微修改了下,P3,P4口都设为准双向,都执行P3=0xff,P4=0xff。

发送端 板子下载如下程序:

newlined 发表于 2023-12-8 10:58:40

接收端下载如下程序:

newlined 发表于 2023-12-8 11:10:50

我用示波器观察接收端的P4.6,发现是高电平,这没有问题,然后短接发送端的P3.6,发现接收端的P4.6变低,这也没有问题,但这时我观察接收端除P4.6外的其他P4的端口时,我以为应该都是高电平,没想到,竟然时不时有低电平出现,如下图,这是P4.1的情况:请问这是我哪里改的程序有问题?谢谢。

newlined 发表于 2023-12-8 11:20:51

CAN 收发器是用的A1050/C

newlined 发表于 2023-12-8 11:31:37

请版主和各位高手看看,问题出在哪里?非常感谢。

乘风飞扬 发表于 2023-12-8 11:49:21

有用示波器测过P3口其它脚位的电平吗?例如P3.1是否一直保持高电平?

newlined 发表于 2023-12-8 11:51:04

顺便说下,对CAN的传输原理还不懂,只是看着例程修改的程序{:loveliness:}

newlined 发表于 2023-12-8 11:56:31

乘风飞扬 发表于 2023-12-8 11:49
有用示波器测过P3口其它脚位的电平吗?例如P3.1是否一直保持高电平?

我刚看了,P3.1一直保持高电平,没有方波。

乘风飞扬 发表于 2023-12-8 13:12:07

newlined 发表于 2023-12-8 11:56
我刚看了,P3.1一直保持高电平,没有方波。

将发送的TX_BUF与接收的RX_BUF分别用串口打印出来看看。
另外从你调用的函数看,你用的例程还是旧版本,建议到官网下载新版本的STC32G实验箱例程包,或者屠龙刀例程包,使用里面的CAN总线收发例子。

newlined 发表于 2023-12-8 13:14:34

乘风飞扬 发表于 2023-12-8 13:12
将发送的TX_BUF与接收的RX_BUF分别用串口打印出来看看。
另外从你调用的函数看,你用的例程还是旧 ...

好的,谢谢,我试试看。
页: [1] 2
查看完整版本: 关于STC32G芯片CAN的使用,请教