xdhzmy 发表于 2024-11-4 22:28:35

32G系列 CAN1 针脚选择 求助

自己做的板用P0.0 P0.1 脚做CAN1通讯,怎么测试都不行,测试波形也不对。
然后用屠龙刀测试CAN1通讯,选择P5.0 P5.1脚可以通讯 ,
然后切换到P0.0 P0.1测试两对脚的波形, P0.0 P0.1与P5.0 P5.1相差很远

王昱顺 发表于 2024-11-4 22:38:13

看起来似乎是io口模式没配置好?
请检查一下两组io的配置模式是否一样

xdhzmy 发表于 2024-11-5 21:45:46

测试用的是屠龙刀里面的程序哪里都没改只是改了下这里
        CANEN = 1;          //CAN1模块使能
        CANSEL = 0;         //选择CAN1模块
        //P_SW1 = (P_SW1 & ~(3<<4)) | (1<<4); //端口切换(CAN_Rx,CAN_Tx) 0x00:P0.0,P0.10x10:P5.0,P5.10x20:P4.2,P4.50x30:P7.0,P7.1
CAN_S1 =0;   CAN_S0=0;

粪豆 发表于 2024-11-25 19:42:18

xdhzmy 发表于 2024-11-5 21:45
测试用的是屠龙刀里面的程序哪里都没改只是改了下这里
        CANEN = 1;          //CAN1模块使能
        CANSEL = ...

那里都没改就改这里就不对,
void GPIO_config(void)
{
        P3_MODE_IO_PU(GPIO_Pin_0 | GPIO_Pin_1);                //P3.0,P3.1 设置为准双向口
        P5_MODE_IO_PU(GPIO_Pin_LOW);                //P5.0~P5.3 设置为准双向口

        CAN1_SW(CAN1_P50_P51);                                //CAN1_P00_P01,CAN1_P50_P51,CAN1_P42_P45,CAN1_P70_P71
        CAN2_SW(CAN2_P52_P53);                                //CAN2_P02_P03,CAN2_P52_P53,CAN2_P46_P47,CAN2_P72_P73
}


应该有这么一段定义iO口的
页: [1]
查看完整版本: 32G系列 CAN1 针脚选择 求助