我想使用 Starterware_1_20_04_01中提供的 HWREG 函数来控制 GPIO8 (13)和 GPIO8 (15)。
但是、GPIO8 (13)和 GPIO8 (15)的输出控制没有成功。
请参阅以下代码、如下所示。
HWREG (SET_DATA8)|=(0x00002000);//设置 FPGA L1/DSP J4 GPIO8 (13)读取数据表命令。
while (!((HWREG (IN_DATA67)&(0x10000000)= 0x10000000))// GPIO7[12]数据未空就绪
{
HWREG (SET_DATA8)|=(0x00008000);//设置 FPGA M3/DSP G1 GPIO8 (15) tClk 设置
延迟(10);
HWREG (CLR_DATA8)|=(0x00008000);//清除 FPGA M3/DSP G1 GPIO8 (15) tClk 复位
}
在此代码中、我要尝试使用 GPIO8引脚13作为选择信号、并使用 GPIO8引脚15生成一系列脉冲。 有趣的是 、当我使用上述代码所示的同一 GPIO 组中的两个引脚时 、尝试 打开 一个引脚 并将其保持 为导通状态、并使用 另一个引脚生成脉冲序列、 第一个引脚 受后续引脚操作的影响。 特别是 、如果我将 GPIO8引脚13设置为打开 并循环开关 GPIO8引脚15、 则 GPIO8引脚13在 GPIO8引脚15从逻辑状态1转换为0时关闭。 因此、我想知道这背后发生了什么。 由于我只是通过代码'HWREG (CLR_DATA8)|=(0x00008000);'来清除 GPIO8 PIN15、我预计只有 GPIO8引脚15关闭、而其他引脚保持不变。 这是我错的吗? 如果我对此有误、请纠正我的问题。