我正在尝试将两个 PIC 16f627 芯片(使用 PICC-Lite 编程)与一个 I/O 引脚(RA2,在已知点改变方向)和一个由其中一个芯片驱动的 CLK 引脚连接在一起。
我最初设置了它,所以有一个主人和一个奴隶。主机将写入一个 8 位“命令”,I/O 引脚的 TRIS 位将被翻转,从机将以 16 位“应答”响应。
我已经进行了(临时的,大的)延迟,以确保没有时间问题。
写/读命令工作正常,两端翻转状态(TRISA)。然而,此时,当主机从之前写入的引脚读取时,即使引脚物理上为 1,它也始终读取 0!
据我所知,TRISA设置正确(=如果输入则设置为位),CMCON(=7)也是如此,我相信CONFIG字;两个芯片都是一样的(嗯,倒置),输入在从机上工作……我还试图确保两个芯片的 TRISA 永远不会同时为 0。
我试过的: - 改变从机,而不是试图发回数据,它只是在很长的时间间隔内切换它的输出引脚的值。这可以在输出线上看到,但在输入引脚的值上看不到。- 只是将状态从输入引脚传递到不同的输出引脚(输出保持为零;虚拟放置表明该引脚上的一般输出有效) - 将 PORTA 和 TRISA 的值写入 LCD - TRISA 正确,但 PORTA 为 0 (即使连接到引脚的线为高电平) - 将 I/O 线连接到 LED 表明它正在改变,但端口上的输入值没有 - 连接电压表显示合适的电压(等于 V+ ) - 我尝试将 Master 换成替代品(它认为它可能遭受了一些物理损坏),尽管这没有任何区别 - 我'
我正在用头撞墙。任何提示或想法将不胜感激!我可能不得不依靠使用两个引脚(尽管我有点希望我能够在某个时候通过一条共享 I/O 线插入多个从站……)