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.

28335 CAN波特率

28335 我的系统时钟是150M,当我把CAN波特率配制成

ECanbShadow.CANBTC.bit.BRPREG = 9;   

ECanbShadow.CANBTC.bit.TSEG2REG = 2;   

ECanbShadow.CANBTC.bit.TSEG1REG = 10;

CAN波特率是500M 通信没问题,终端电阻是120R

可是当我配置成

ECanbShadow.CANBTC.bit.BRPREG = 4;   

ECanbShadow.CANBTC.bit.TSEG2REG = 2;   

ECanbShadow.CANBTC.bit.TSEG1REG = 10;

想把波特率改成1M  就不能通信了;此时把终端电阻改成60R,上位机也不能向下发数了  而且下位机发来的数上位机一直接收  根本就不停  有没有谁能解决下  急!!!谢谢大家

  • CAN,无论什么波特率都应该是120欧的终端电阻。

  • 首先,上面那个配置是500K的,不是500M的,这点要注意;

    其次,现在BRP为4,建议你把SAM设置成0;

    最后,可以尝试更改采样率

  • BISHENG CAO 说的对,你应该把采样的次数降下来,用一次采样,SAM=0.
    还有我看到的别人的例程里面,在500k的时候
    ECanbShadow.CANBTC.bit.BRPREG = 9;
    ECanbShadow.CANBTC.bit.TSEG2REG = 5 ;
    ECanbShadow.CANBTC.bit.TSEG1REG = 7;