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.

432 BSL 怎么从EUSCI_A0_BASE 配置到EUSCI_A3_BASE



 目前我在移植432p401r bsl 因为我的串口使用的是EUSCI_A3_BASE ,所以必须重新配置。目前我遇到如下问题:

  1.MAP_SysCtl_getTLVInfo 从rom读出来的配置就是EUSCI_A0_BASE  我要怎么样去修改成EUSCI_A3_BASE ?

  • 你对比下EUSCI_A0和EUSCI_A3的寄存器,逐个改过来就可以

  • 现在主要是MAP_SysCtl_getTLVInfo 从rom读出来的配置就是EUSCI_A0_BASE 没有看到怎么去修改的函数
  • 追踪了一下
    发现:
    #define MAP_SysCtl_getTLVInfo SysCtl_getTLVInfo
    然后找SysCtl_getTLVInfo
    void SysCtl_getTLVInfo ( uint_fast8_t tag, uint_fast8_t instance, uint_fast8_t ∗length, uint32_t ∗∗ data_address )

    这个函数不涉及到串口
    你看看是不是在其他地方有配置
  •  // UART module
        if(BSL432_ActivePeripheral == BSL432_AP_Auto || BSL432_ActivePeripheral == BSL432_AP_UART)
        {
            if(BSL432_BSL_PER_IF_SEL_UART_MOD == 0x0)  // eUSCI_A
            {
                if(BSL432_BSL_PER_IF_SEL_UART_INST == 0x0)
                {
                    BSL432_UART_MODULE = EUSCI_A0_BASE;
                }
                else if(BSL432_BSL_PER_IF_SEL_UART_INST == 0x1)
                {
                    BSL432_UART_MODULE = EUSCI_A1_BASE;
                }
                else if(BSL432_BSL_PER_IF_SEL_UART_INST == 0x2)
                {
                    BSL432_UART_MODULE = EUSCI_A2_BASE;
                }
                else if(BSL432_BSL_PER_IF_SEL_UART_INST == 0x3)
                {
                    BSL432_UART_MODULE = EUSCI_A3_BASE;
                }
            }

    建议您看一下 BSL432_PI_configureInterfaces 函数