This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C123 芯片CAN接口波特率设置问题?????



使用  系统时钟  (50MHz)

            regaddr=0x40040000;     
            temp = HWREG(regaddr);
            SysCtlDelay(5);
            HWREG(regaddr) |= (0x41|temp); //置位CANCTL寄存器
            SysCtlDelay(5);
            HWREG(regaddr+0x0C) = (0x03<<12)|(0x04<<8)|(0x03<<6)|(0x39); //seg2=4,seg1=4,swj=4,BRP=57 CANBIT寄存器
            SysCtlDelay(5);
            HWREG(regaddr+0X18) = 0x03;//CANBRPE寄存器
            SysCtlDelay(5);
            HWREG(regaddr) =  temp;
            SysCtlDelay(5);

设置20K波特率没有问题 但改到10K波特率时

            regaddr=0x40040000;     
            temp = HWREG(regaddr);
            SysCtlDelay(5);
            HWREG(regaddr) |= (0x41|temp); //置位CANCTL寄存器
            SysCtlDelay(5);
            HWREG(regaddr+0x0C) = (0x03<<12)|(0x04<<8)|(0x03<<6)|(0x30); //Tseg2=3,Tseg1=3,swj=3,BRP=48 CANBIT寄存器
            SysCtlDelay(5);
            HWREG(regaddr+0X18) = 0x09;//CANBRPE寄存器
            SysCtlDelay(5);
            HWREG(regaddr) =  temp;
            SysCtlDelay(5);

就不能够正常通信了,CAN总线报错。寄存器值使用HAL Code Generator软件获得