请教CH341A的并口模式

手册里面的并口模式都是加了驱动器、锁存器的。 按照手册描述,只要CH341通过D0-D7输出信号,类似于GPIO,可以不用锁存器。相应的API为CH341Set_D5_D0、CH341GetInput。 那么: 1,GPIO情形下,是否还需要CH341InitParallel初始化?2,CH341Set_D5_D0与CH341EppWriteAddr或CH341EppWriteData相比,效率如何? 谢谢!

1-不需要 2-如果是做GPIO用,建议使用CH341Set_D5_D0


如果要使用CH341EppWriteAddr或CH341EppWriteData,是不是一定要有锁存器?


是的


我的硬件是把CH341A的第4脚(MEM模式时为RD#)作为驱动器的使能控制,而把第25脚(MEM模式时为WR#)作为触发器的时钟。 也就是说,是与CH341EVT的一致的按照MEM模式连接。

初始化为MEM模式,我的程序如果使用CH341MemWriteAddr0,则程序会一直等不到CH341MemWriteAddr0返回。

此种连接下,如果只需要一组IO控制,也应该可以初始化为EPP模式,那样的话读可以使用CH341EppReadData(因为EPP模式第4脚作为DS#会有效),写的话用CH341EppWriteAddr(因为第25脚EPP模式还是WR#,而第4脚作为DS#无效)。此时不会挂住,结果似乎也不对。

请问: 1,CH341MemWriteAddr0为什么会挂住? 2,我上面的关于此种硬件连接EPP模式的说法成否成立?


补充:EPP模式如果为1(即EPP模式V1.9),则不会挂起,而如果EPP模式为0(即EPP模式/EPP模式V1.7),则同样挂起,与MEM模式类似。


只有登录才能回复,可以选择微信账号登录