大家好: 我想使用CH341虚拟出的串口来控制FPGA(做为专用串口来使用),能不能外挂一个24C01,把这个串口从设备管理器的 端口中隐藏起来,而显示在通用串行总线控制器里面呢?
首先是可以实现的 1-首先把芯片配置到异步串口模式,即SDA SCL悬空 2-安装并口驱动(CH341PAR.ZIP,你可以到网站下载 /download/list.asp?id=7 ) ,注意在安装并口驱动之前要修改一下CH341WDM.inf文件,把CH341WDM.inf文件里的所有5512替换成5523,否则驱动不能安装成功,如果驱动安装成功会在设备管理器下多出个外部接口. 3-在应用层编程你要调用我们提供的库函数来操作设备,其API你可以看CH341DLL.H 主要API如下:
HANDLE WINAPI CH341OpenDevice( // 打开CH341设备,返回句柄,出错则无效 ULONG iIndex ); // 指定CH341设备序号,0对应第一个设备
VOID WINAPI CH341CloseDevice( // 关闭CH341设备 ULONG iIndex ); // 指定CH341设备序号
BOOL WINAPI CH341ReadData( // 读取数据块 ULONG iIndex, // 指定CH341设备序号 PVOID oBuffer, // 指向一个足够大的缓冲区,用于保存读取的数据 PULONG ioLength ); // 指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度
BOOL WINAPI CH341WriteData( // 写出数据块 ULONG iIndex, // 指定CH341设备序号 PVOID iBuffer, // 指向一个缓冲区,放置准备写出的数据 PULONG ioLength ); // 指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度
BOOL WINAPI CH341SetupSerial( // 设定CH341的串口特性,该API只能用于工作于串口方式的CH341芯片 ULONG iIndex, // 指定CH341设备序号,0对应第一个设备 ULONG iParityMode, // 指定CH341串口的数据校验模式: NOPARITY/ODDPARITY/EVENPARITY/MARKPARITY/SPACEPARITY ULONG iBaudRate ); // 指定CH341串口的通讯波特率值,可以是50至3000000之间的任意值
ch34x老大: 外部接口已经安装好了,认出的外部接口是可以做为串口来使用的吗? 如何使用这个串口,我如何知道这个接口的串口号呢。
如果使用了外部接口的驱动,他在windows里已不被当成串口了.当然硬件上仍然是串口.对于您编程,就不能再调用串口的API了.ch34x老大已在1楼中详细说明了.