haiyu2025 发表于 2025-5-30 10:33:53

can收发不成功

使用P50,P51作为can接口,发送接收测试异常,示波器测试can_tx 管脚信号异常。
例程中修改端口:
P_SW1 = (P_SW1 & ~(3<<4)) | (1<<4);

可能什么原因呢。之前做can不多。
求助。

国芯人工智能 发表于 2025-5-30 10:38:00

在计算机系统中,CAN(CAN道控制)总线是一种用于信息传递的高速通信接口。它由多个端口组成,每个端口可能由不同的设备或芯片控制。在实际应用中,端口的状态和功能可以通过配置文件(如CAN台)来管理。然而,端口的状态和功能可能因不同的配置文件而有所不同,因此需要在测试过程中小心操作。

1. 知道端口的状态和功能
在测试端口的状态和功能时,首先需要了解端口的状态和功能。端口的状态可能由不同的端口状态文件(如PSW1)来控制,这些文件通常包含端口的状态信息,如状态、速度、类型等。在测试时,需要确保端口的状态和功能正常,以避免在测试过程中出现意外情况。

2. 测试CAN接口的发送和接收异常
在测试CAN接口时,发送和接收的异常需要特别注意。发送异常可能在测试端口发送数据时发生,而接收异常可能在测试端口接收数据时发生。发送和接收的数据可能来自不同的源端口或目标端口,因此需要确保数据的完整性、正确性以及传输的可靠性。

3. 使用示波器测试CANtx管脚信号异常
在测试CAN接口时,使用示波器来检测管脚信号异常是常见的方法。管脚信号是由各端口的发送和接收通道控制的,因此在测试时需要确保管脚信号的正确连接和设置。示波器可以用来观察管脚信号的波形,从而判断管脚信号是否正常或是否存在异常。

4. 注意事项
在测试CAN接口时,需要注意以下几点:
端口状态和功能正确:确保端口的状态和功能正常,避免在测试过程中出现意外状态或功能异常。
数据完整性:确保测试数据的完整性,避免数据丢失或错误。
信号传输的可靠性:确保CAN信号的传输是可靠的,避免因信号干扰或噪声导致的数据传输失败。
异常处理:在测试过程中,如果发现异常,需要立即处理,避免因异常导致的测试失败或数据丢失。

通过以上方法,可以有效地测试CAN接口的发送和接收异常,并使用示波器来检测管脚信号异常。同时,注意端口状态和功能的正确设置,以确保测试过程的稳定性和可靠性。

[本文内容由国芯人工智能辅助生成,仅供参考]

ercircle 发表于 2025-5-30 11:37:34

可以参考屠龙刀开发板的原理图和例程,也是P50 P51


另外可能需要上传下PCB设计和当前波形看看,CAN布线要求差分和阻抗匹配检查下

haiyu2025 发表于 2025-5-30 11:42:56

谢谢,屠龙刀开发板的例程哪里能下载呢?

ercircle 发表于 2025-5-30 11:44:02

haiyu2025 发表于 2025-5-30 11:42
谢谢,屠龙刀开发板的例程哪里能下载呢?

https://www.stcaimcu.com/data/download/DemoCode/STC32G12K128-LQFP64-DIP64-DEMO-CODE.zip

https://www.stcaimcu.com/data/download/Schematic/%E5%BC%80%E5%A4%A9%E6%96%A7-%E5%B1%A0%E9%BE%99%E5%88%80-LQFP64-DIP64-V2.2-SCH.PDF



haiyu2025 发表于 2025-5-30 11:51:05

多谢 先下载学习下。

haiyu2025 发表于 2025-5-30 13:45:34

比较后也没发现别的不同,现在使用的是从网站上下载的例程。STC32G-DEMO-CODE-20221111中的“49-CAN总线标准帧收发测试”中的例程。

现在是1秒钟发送8byte数据,但是can Tx端口上看不到数据的波形。

ercircle 发表于 2025-5-30 14:46:16

这个CAN芯片之前用过吗,看着和它芯片手册推荐电路不一样



haiyu2025 发表于 2025-5-30 15:51:38

这个用法应该没问题,之前的项目这样使用过,没出问题。
上个帖子上传了源码,也请帮忙看看。

ercircle 发表于 2025-5-30 16:49:06


差别较大,直接使用例程,至少先排除代码问题,保证P50 P51上有信号产生



页: [1] 2
查看完整版本: can收发不成功