用库文件不能初始化CH375芯片,但是直接发命令可以,怎么回事

我买了个模块,自己搭线接到STC12C5A60S2。CH375芯片的脚是直接接到单片机,CH375芯片和单片机都是5v供电。

TIM图片20170801154227.png

 我用库文件CH375HF4.LIB,EXAM9。我设置并口工作模式,INT连接方式为查询方式,检查了接线和并修改了对应的io口,执行CH375LibInit( )返回0x81. 我试着不用你们的库函数,直接发命令,测试工作状态,设置 USB 工作模式,等待U盘连接。。。这些都没问题。

我查看了你们公司的CH375HF.PDF文档,里面说要自己根据具体硬件编写xWriteCH375Cmd( UINT8 mCmd ) ,xWriteCH375Data( UINT8 mData ),xReadCH375Data( ) ,xQueryInterrupt( ) 。我在这几个函数里加了打印信息,发现运行你们的库文件,执行CH375LibInit( )函数,根本就没有调用这几个函数。


请麻烦分析一下为什么会一直返回0x81.谢谢


CH375LibInit( )返回0x81说明接口通讯还是有问题的。

你执行测试命令看看:

xWriteCH375Cmd(CMD_CHECK_EXIST);

xWriteCH375Data(0x9a);

i = xReadCH375Data();


通讯没问题,我直接发命令,一切正常


该函数CH375LibInit( )是会调用下面三个函数的。

void xWriteCH375Cmd( UINT8 mCmd );

void xWriteCH375Data( UINT8 mData ); 

UINT8 xReadCH375Data( void );


问题是没有调用,我在这3个函数里加了打印信息,调用CH375LibInit( )后,根本就没打印信息


把你移植的工程发到这个邮箱。

gj@wch.cn


已经将工程发到你邮箱里了(CH375.rar)。请查收,谢谢


extern UINT8XV CH375_CMD_PORT;    /* CH375命令端口的I/O地址 */
extern UINT8XV CH375_DAT_PORT;    /* CH375数据端口的I/O地址 */

外部怎么没有定义。

你选择并口模拟,那就选HF5的库。


我是要模拟并口,不用I/O地址


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