Other Parts Discussed in Thread: SYSCONFIG
器件型号: F29H85X-EVM-EVM SOM
主题: SysConfig 中讨论的其他器件
我将 SOM 与定制板一起使用。
我想使用 GPIO11 作为 GPIO 作为输出。 但我无法控制该引脚。
已通过 SysConfig 进行配置。 在这里、我会发布 SysConfig 生成的代码。 有人能帮我解决这个问题吗?
提前感谢。
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.
Other Parts Discussed in Thread: SYSCONFIG
器件型号: F29H85X-EVM-EVM SOM
主题: SysConfig 中讨论的其他器件
我将 SOM 与定制板一起使用。
我想使用 GPIO11 作为 GPIO 作为输出。 但我无法控制该引脚。
已通过 SysConfig 进行配置。 在这里、我会发布 SysConfig 生成的代码。 有人能帮我解决这个问题吗?
尊敬的 Dimple:
由 SysConfig 生成的代码在结构上正确。 以下是最可能的原因和修复:
F29H85X SDK 版本中存在一个确认的 SysConfig 错误 GPIO_setDirectionMode() (1.02.01.00 之前的版本)、该错误在某些配置中未正确生成(尤其是对于 CPU3,但可能会影响其他情况)[1]。 解决其他用户相同症状的修复程序:
GPIO_setDirectionMode(D2, GPIO_DIR_MODE_OUT); 在 SysConfig 生成的代码部分之外手动添加、作为权变措施[1] main() 首先配置了引脚多路复用器、确保调用这两个功能:
void main(void)
{
// ... device/system init ...
PinMux_init(); // Configure pin mux FIRST
D2_init(); // Then set direction, pad config, etc.
// Now you can control the pin:
GPIO_writePin(D2, 1); // Set high
GPIO_writePin(D2, 0); // Set low
}方向/焊盘设置生效[2][3]之前、引脚多路复用器必须将 GPIO11 路由至其 GPIO 功能。
由于您将 SOM 与 定制电路板一起使用、请验证:
您的代码通过将 GPIO11 分配给 CPU1 GPIO_setControllerCore(D2, GPIO_CORE_CPU1)。 确保执行的代码 GPIO_writePin() 实际在 CPU1 上运行。 在 F29H85X 上、GPIO 控制寄存器 (CTRL_REGS) 只能由 CPU1 写入、而数据寄存器可以由分配的内核写入[1]。
为了帮助完善这项建议、了解以下信息会有所帮助:
资源:
此致、
Zackary Fleenor
]您当前使用的 F29H85X SDK 版本
f29h85x-sdk_1_02_01_00
其他 GPIO 引脚是否能够在相同的初始化模式下正常工作
是的
您观察到了哪些特定行为(引脚一直处于高电平,一直处于低电平,无切换)
驱动至低电平
未连接外部上拉电阻时为高电平、未连接外部 10k 上拉电阻器时为高电平
您是否已在定制电路板原理图上确认 GPIO11 布线
是的、这是非常正确的
哪个 CPU 内核正在执行此代码 (CPU1 或 CPU3)
磁芯 1
尊敬的 Dimple:
根据您的回答、诊断现已明确: GPIO11 的输出驱动器未激活。 外部上拉电阻器(而不是由 MCU 驱动)之后的引脚证明了尽管您的软件配置正确、MCU 在该引脚上处于高阻抗状态。
由于您的 SDK 是最新的 (1.02.01.00)、其他 GPIO 的工作方式相同、您使用的是 CPU1、并验证了您的定制电路板布线、因此问题几乎肯定出在 SOM 模块本身、而不是您的定制电路板或代码。
F29H85X LaunchPad 文档确认 GPIO11 可以 通过组装的电阻器 (R29/R32) 连接到 TPS65036x PMIC 的 I2C 总线[1]。 PMIC-EVM 使用相同的 SOM 架构[2]。 如果 GPIO11 路由至 SOM 模块上的 PMIC I2C (SDA 或 SCL)、PMIC 或其上拉电路将覆盖您的 MCU 输出配置。
此外、已知 SOM 使用 0Ω 电阻器布线 进行引脚多路复用、这与默认情况下将 GPIO65/64 路由到 EtherCAT 的方式类似、需要重新分配才能重新路由[3]。
检查 SOM 原理图 (在 F29H85X-EVM SOM 设计文件 的“Design Files“下提供)[4]—具体查找:
在切换时直接在 SOM 连接器引脚(不是定制电路板上)上探测 GPIO11 GPIO_writePin(11, 1) GPIO_writePin(11, 0) — 这可以隔离 SOM 本身是否会阻止输出。
如果 GPIO11 由 SOM 上的 PMIC 声明、则您的选项为:
快速软件测试 —添加显式切换代码以确认正在进行写入:
while(1) {
GPIO_writePin(D2, 1);
DEVICE_DELAY_US(500000);
GPIO_writePin(D2, 0);
DEVICE_DELAY_US(500000);
}如果该引脚仍遵循上拉而不是切换、这将确认硬件覆盖。
为了帮助完善这项建议、了解以下信息会有所帮助:
GPIO_writePin() 呼叫主动切换 PIN(而不是仅配置方向)此致、
Zackary Fleenor