bphpsjin 发表于 2026-6-11 16:31:31

can无法接收|已解决

我用的STC32G12K128,
用例程无法发送can就是cpu接收不到,是为什么波特率也是相等的500k,
65hvd230的终端电阻也有是为什么呢

bphpsjin 发表于 2026-6-11 16:32:55

if(B_Can2Read)      //判断 CAN2 是否接收到数据
                {
                        B_Can2Read = 0;
                       
            n = CanReadMsg(CAN2, CAN2_Rx);    //读取接收内容
            if(n>0)
            {
                for(i=0;i<n;i++)
                {
                  printf("CAN2 ID=0x%08lX DLC=%d FF=%d RTR=%d ",CAN2_Rx.ID,CAN2_Rx.DLC,CAN2_Rx.FF,CAN2_Rx.RTR);   //串口打印帧信息
                  for(j=0;j<CAN2_Rx.DLC;j++)
                  {
                        printf("0x%02X ",CAN2_Rx.DataBuffer);    //从串口输出收到的数据
                  }
                  printf("\r\n");
                }
            }
                }就是这里我发送了进不去,ACR和AMR是00和ff是什么id都能接收

乘风飞扬 发表于 2026-6-11 18:31:57

方便的话发原理图出来看看
你是使用两个stc32h12k128板子,一个发送一个接收?
还是一个stc32G12k128板子,CAN1发送CAN2接收?

神农鼎 发表于 2026-6-11 19:43:24



深圳国芯人工智能有限公司-核心功能实验板

bphpsjin 发表于 2026-6-11 22:00:39

乘风飞扬 发表于 2026-6-11 18:31
方便的话发原理图出来看看
你是使用两个stc32h12k128板子,一个发送一个接收?
还是一个stc32G12k128板子, ...

不是就一个stc32g12k128,mcu能发送到我电脑的usb-can,但是我发的他接收不到,进不了中断用的官方27can的例程,而且还我发消息他会会一个和发的消息一模一样的消息但不是mcu发的,不知道是我程序配置错了还是usb-can软件不小心点到回环模式了?

狂热主宰 发表于 2026-6-11 23:26:34

bphpsjin 发表于 2026-6-11 22:00
不是就一个stc32g12k128,mcu能发送到我电脑的usb-can,但是我发的他接收不到,进不了中断用的官方27can ...

例程CAN有回环模式的
可能CAN上位机也需要设置

bphpsjin 发表于 2026-6-12 09:16:54

狂热主宰 发表于 2026-6-11 23:26
例程CAN有回环模式的
可能CAN上位机也需要设置

但是我看寄存器的话没用回环模式CAN 模式寄存器 MR(地址 0x00)只有复位,只听和滤波

bphpsjin 发表于 2026-6-12 09:27:03

狂热主宰 发表于 2026-6-11 23:26
例程CAN有回环模式的
可能CAN上位机也需要设置

哦哦我看见了手册的例程是回环他是在中断了接收并回发,但是我是下的官方的独立程序的27,没有回环,但是我的can-usb老是发mcu进不了中断,can-usb调试软件还有回环不知道是不是设置问题

bphpsjin 发表于 2026-6-12 10:26:52

乘风飞扬 发表于 2026-6-11 18:31
方便的话发原理图出来看看
你是使用两个stc32h12k128板子,一个发送一个接收?
还是一个stc32G12k128板子, ...

解决了是usb-can的调试问题,我用的他的can2,要用can1
页: [1]
查看完整版本: can无法接收|已解决