请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:SW-TM4C 情况1: 为新外设或新 GPIO 端口添加函数调用导致程序进入 FaultISR
情况2:正确启用外设后、程序仍进入 FaultISR
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.
情况1: 为新外设或新 GPIO 端口添加函数调用导致程序进入 FaultISR
情况2:正确启用外设后、程序仍进入 FaultISR
案例1的解决 方案:需要启用每个外设、包括每个单独的 GPIO 端口。 以下 TivaWare API 可用于启用正在使用的外设。
SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C2);
SYSCTL_Periph_#define 的完整列表可在 TivaWare 的 driverlib 文件夹中的 sysctl.h 中找到。
案例2的解决方案: 使能函数写入 xxx 外设的 SYSCTL.RCGCxxx 寄存器。 它需要5个系统时钟周期、之后外设将可寻址。 建议延迟、或者更好地从外设获取就绪状态。 以下代码执行后者:
SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C2); while(!(SysCtlPeripheralReady(SYSCTL_PERIPH_I2C2)));