小弟想用375和51来做USB游戏手柄和单片机通信的电路,用于捕获手柄的每一个按键输入,最后转换成TTL的电平输出.我的做法是按照PDF上面介绍的USB信号经375转换为232串行信号,再与单片机进行串行通信,但电路做出来以后一点反映都没有,用软件看单片机的SBUF,按键输入后一点变化都没有,是不是我一开始的这种思路就不对,还是375没有用好...望各路大侠指点迷津...小弟感激不尽!!!
实际在通过串口通信的时候,需要单片机通过串口往375里面写相应的命令和数据之后才可以和游戏手柄进行数据通信,否则是没有任何变化的
请问hcn兄,是不是在编写单片机程序时,只要链入375相应的库文件就行了??
所谓的库是在操作U盘的时候我们提供单片机端的库或者以内置固件模式和计算机通信的时候用到了库之外,其他的都不需要用到库,你操作鼠标或者键盘的话,直接用我们提供的例子程序就可以了
哦.....那我试试...感谢啦!!!
小弟用375+51来捕获USB手柄按键输入,硬件如图,用仿真器调试,所以单片机没晶振,没复位电路,请问线路有问题吗?我用375的CHECK_EXIST指令来测试375,但返回值不对.请问各位老师,是我的硬件问题还是程序问题呢??程序如下:
;INT1 P3.3--- INT ;P3.7---RD ;P3.6---WR ;P1.3---A0 ;D0-D7---P0-P7 CH375_A0 BIT p1.3 CH375_INT BIT P3.3 CH375_WR BIT P3.6 CH375_RD BIT P3.7
RESET_ALL EQU 05H GET_STATUS EQU 22H RD_USB_DATA EQU 28H WR_USB_DATA7 EQU 2BH UNLOCK_USB EQU 23H SET_USB_MODE EQU 15H CHECK_EXIST EQU 06H ORG 0000H LJMP MAIN ORG 0013H LJMP CH375_INTER MAIN:
ACALL CH375_WR_CODE MOV P0,#RESET_ALL ACALL CH375_WR_CODE MOV P0,#CHECK_EXIST ACALL CH375_WR_DATA MOV P0,#57H ACALL CH375_RD_DATA MOV P0,#0FFH NOP MOV A,P0
CH375_WR_CODE: CLR CH375_WR SETB CH375_RD SETB CH375_A0 RET CH375_WR_DATA: CLR CH375_WR SETB CH375_RD CLR CH375_A0 RET CH375_RD_DATA: SETB CH375_WR CLR CH375_RD CLR CH375_A0 RET CH375_INTER: NOP RETI END
你的片选直接接地的话,这样在你操作其他外围器件的时候可能出问题的,建议你用一个单片机的引脚来控制,还有就是你首先去测下25和26引脚的电压是多少,正常情况下25引脚为低,26引脚电压为高,如果其中一个不正确,那就是375的芯片复位不好或者晶振没起振