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.

TMS320F280049C: 不执行

Part Number: TMS320F280049C
Other Parts Discussed in Thread: LAUNCHXL-F280049C

CAN.C中

void
CAN_initModule(uint32_t base)
{
//
// Check the arguments.
//
ASSERT(CAN_isBaseValid(base));   //这句不执行是不是会对后面的循环造成影响呢?包括后面循环不出去是不是前面不执行CANA还是CANB的原因导致的呢?

 while(((HWREGH(CANA_BASE + CAN_O_ES) & CAN_ES_TXOK)) !=  CAN_ES_TXOK)

  • ASSERT(CAN_isBaseValid(base));   //这句不执行是不是会对后面的循环造成影响呢?

    会的,可以查看代码

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    //*****************************************************************************
    //*****************************************************************************
    //
    //! \internal
    //!
    //! Checks a CAN base address.
    //!
    //! \param base is the base address of the CAN controller.
    //!
    //! This function determines if a CAN controller base address is valid.
    //!
    //! \return Returns \b true if the base address is valid and \b false
    //! otherwise.
    //
    //*****************************************************************************
    #ifdef DEBUG
    static inline bool
    CAN_isBaseValid(uint32_t base)
    {
    return(
    (base == CANA_BASE) ||
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    理论上会返回base值,即CANA/CANB的宏定义值。我是用的开发板测试的,可以正常返回base值

  • 1、LaunchPadXL-28377S板卡的canA的GPIO的定义是30、31,#define DEVICE_GPIO_CFG_CANRXA GPIO_30_CANRXA 
                                                                                                                        #define DEVICE_GPIO_CFG_CANTXA GPIO_31_CANTXA  

    先不考虑28377S的实际硬件板卡的原理,因为28377S的我已经调试通过了。

    现阶段的问题是LAUNCHXL-F280049C的CANA的GPIO引脚是:CANA的TX是GPIO32,RX是GPIO33,在软件上对不上啊。

    我是否可以这么做:

    将28377S的程序直接粘贴到280049上然后将GPIO管脚改成GPIO32和33就可以了?其他的不用改么?

  • 我这边的定义是

    #define DEVICE_GPIO_CFG_CANRXA GPIO_33_CANA_RX // "pinConfig" for CANA RX
    #define DEVICE_GPIO_CFG_CANTXA GPIO_32_CANA_TX // "pinConfig" for CANA TX 

    和您的是一致的

    将28377S的程序直接粘贴到280049上然后将GPIO管脚改成GPIO32和33就可以了?其他的不用改么?

    是的,理论上是这样的

    您现在的base值返回是多少?能否截图?

  • 返回值的问题已经解决了是48000

  • 我不再发新帖了,麻烦您尽快测试吧!这个问题已经经历了很久了,还没解决