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.

[参考译文] MSP432E401Y:启用 UART7时出现意外 HWI

Guru**** 2581345 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/737301/msp432e401y-unexpected-hwi-when-enabling-uart7

器件型号:MSP432E401Y

您好!

我正在尝试使用以下代码启用 UART7。 使用 GPIO_PC4_U7RX 调用 GPIOPinConfigure 会触发意外的硬件中断。 我是否在某个位置缺少函数调用? 这或多或少从 UART_echo 示例的示例代码中拉出。  

谢谢:)

main (void)
{
//
//将时钟设置为直接从频率为120MHz 的晶体运行。
//
G_ui32SysClock = MAP_SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz |
SYSCTL_OSC_MAIN |
SYSCTL_USE_PLL |
SYSCTL_CFG_VCO_480)、120000000);
//
//启用用于板载 LED 的 GPIO 端口。
//
MAP_SysCtlPeripheralEnable (SYSCTL_Periph_GPION);

//
//为 LED (PN0)启用 GPIO 引脚。
//
MAP_GPIOPinTypeGPIOOutput (GPIO_PORTN_BASE、GPIO_PIN_0);

//
//启用此示例使用的外设。
//
MAP_SysCtlPeripheralEnable (SYSCTL_Periph_UART0);
MAP_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);

//测试
//map_SysCtlPeripheralEnable (SYSCTL_Periph_UART2);
//map_SysCtlPeripheralEnable (SYSCTL_Periph_UART6);
MAP_SysCtlPeripheralEnable (SYSCTL_Periph_UART7);
while (!(map_SysCtlPeripheralReady (SYSCTL_Periph_UART7))){

}

//
//启用处理器中断。
//
MAP_IntMasterEnable();

//
//将 GPIO A0和 A1设置为 UART 引脚。
//
// ME 测试
GPIOPinConfigure (GPIO_PC4_U7RX);
GPIOPinConfigure (GPIO_PC5_U7TX);
//MAP_GPIOPinConfigure (GPIO_PC4_U7RX);
//MAP_GPIOPinConfigure (GPIO_PC5_U7TX);

GPIOPinConfigure (GPIO_PA0_U0RX);
GPIOPinConfigure (GPIO_PA1_U0TX);
MAP_GPIOPinTypeUART (GPIO_Porta_base、GPIO_PIN_0 | GPIO_PIN_1);
MAP_GPIOPinTypeUART (GPIO_PORTC_BASE、GPIO_PIN_5 | GPIO_PIN_4);//针对引脚24、25

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Chasen、

     如果您查看 MSP432E4示例、通常会看到以下行来禁用看门狗计时器:

    /*停止 WDT */
    MAP_WDT_A_HOLDTimer();

    尝试在 main()的开头添加此项,然后查看是否可以解决问题。

     

    -Bob L.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Bob:

    我在 simplelink_msp432e4 SDK 中的任何位置都找不到该函数定义。 我在任何 driverlib 示例中都找不到它。 有什么建议吗?

    谢谢:)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    只需添加更多信息即可。 在尝试启用除 GPIO_PA0_U0RX 和 GPIO_PA1_U0TX 之外的任何 UART 引脚时、也会发生相同的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我明白了。 在为 UART 7启用 GPIO 引脚之前、我错过了对 MAP_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOC)的调用。 再次感谢您的帮助。