[求助]CH375B的串口连接模式应用问题。

我目前下载的所有有关CH375的例程代码发现全是CH375A的。 根据CH375B芯片手册,该芯片工作于串口模式时,默认是9600波特率,数据位为9位,通过最后一位来设定是命令还是数据。但CH375的串口例程全是通过STA或写同步命令方式操作的。串口波特率默认为4800,且看起来是8BIT数据位。 请问版主有CH375B的串口通信的例程么?

我应用CH375B,作为USB HOST口挂接USB键盘的,可否提供CH375B USB键盘的驱动代码?我的邮箱:个人信息保护,已隐藏

产品正在加急开发,望得到回复。谢!

CH375B操作USB键盘的的代码请到下边链接下载:/bbs/View.asp?S=101&I=19463 但是需要修改接口,串口的接口函数请参考: void CH375_PORT_INIT( ) { SCON = 0xD0; // 设置串口为9位数据 PCON = 0x80; TMOD = 0x20; TH1 = 0xf3; // 24MHz晶振, 9600bps TR1 = 1; TI = 1; // RI = 0; //设置波特率和其它串口参数 }

void xWriteCH375Cmd( UINT8 mCmd ) { TI = 0; TB8 = 1; SBUF = mCmd; while ( TI == 0 ); }

void xWriteCH375Data( UINT8 mData ) { TI = 0; TB8 = 0; SBUF = mData; while ( TI == 0 ); }

UINT8 xReadCH375Data( void ) { while ( RI == 0 ); RI = 0; return( SBUF ); }


你好,我向CH375B发送版本信息命令,回复得到的版本号是0X5F,请问正确吗? 代码如下: unsigned char GetCH375_Ver(void){ CH375_WR_CMD_PORT(CMD_GET_IC_VER); return CH375_RD_DAT_PORT(); }


你好,很抱嫌,是我的串口驱动没写好。实际读到的版本号是0XB7,跟手册上是一样的了。 不过,我插上USB键盘后,CH375B的INT引脚并不输出低电平中断信号。这是为何呢?是不是CH375B的D+/D-引脚要上拉一个15K电阻?还是USB 口需要其它的调整?


经过调试,中断是产生了。但中断后,在wait_interrupt()里,总是读不到的中断状态值。 CH375_WR_CMD_PORT(CMD_GET_STATUS); return CH375_RD_DAT_PORT(); 执行上面代码,返回的值总为空。 但是读CH375B版本号却总是能成功。 CH375_WR_CMD_PORT(CMD_GET_IC_VER); return CH375_RD_DAT_PORT(); 返回的总是0XB7。是正确的。 为什么读不到状态值呢?


你最好在检测键盘连接之前,确保测试命令和设置模式返回值都是正确的。只要你有中断产生,读写函数没错的话,肯定会有正确或者错误的返回值的。


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