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.

[FAQ] SW-TM4C: 在使用新外设时如何防止程序进入 FaultISR

Part Number: SW-TM4C

问:

案例 1为新外设或新 GPIO 端口添加函数调用导致程序进入 FaultISR

案例 2正确启用外设后,程序仍进入 FaultISR

  • 答:

    案例 1 的解决方案:需要启用每个外设,包括每个单独的 GPIO 端口。以下 TivaWare API 可用于启用要使用的外设。 

    SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C2);

    SYSCTL_PERIPH_ #define 的完整列表可在 TivaWaredriverlib 文件夹的 sysctl.h 文件中找到。

     

    案例 2 的解决方案:使能功能写入 xxx 外设的 sysctl.RCGCxxx 寄存器。这需要 5 个系统时钟周期,之后外设将可寻址。建议延迟一会,或最好获得外设的就绪状态。以下代码可用于获得就绪状态:

    SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C2);

    while(!(SysCtlPeripheralReady(SYSCTL_PERIPH_I2C2)));