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.

在TI的example_2806xECanBack2Back工程的F2806x_ECan.c文件中的SAM位设置是否有效?



在F2806x_ECan.c文件中,代码中有这样的设置:ECanaShadow.CANBTC.bit.SAM = 1  就是采样三次 择多判决 但是相应的波特率预定标值的设定却是 ECanaShadow.CANBTC.bit.BRPREG = 1 源码如图:

根据2806X的外设手册说明:只有在波特率预定标值大于4的时候才能令SAM位为1 如图:

所以我想知道TI这个源代码中,ECanaShadow.CANBTC.bit.SAM = 1 设置是不是不合理的?

  • 在以前281X头文件 V1.00的can例程中,ECanaShadow.CANBTC.bit.BRPREG = 9 所以可以使SAM位设置为1,但是源码中根本没有设定SAM。


    而在2806X的can例程中,设定了SAM位,但是源码中ECanaShadow.CANBTC.bit.BRPREG = 1 说明波特率预定标值小于4 ,TI源码设定了SAM为1,那么对程序运行到底会有什么影响?它会采样三次还是采样一次?

  • 0 三倍:总线采样三次:建议在中/低速总线(A和B级)使用,有处于过滤总线上毛刺
    1 单倍:总线采样一次;建议使用在高速总线上(SAEC级)