求~CH375B做主機用串口方式連單片機的鍵盤、鼠標(biāo)例程~
只要把并口的函數(shù)去掉,改成串口的就行了
汗?。?!我菜鳥來著!那你們到底有沒有這樣的例程呢????
接口函數(shù)改成:
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 ); }
例程的話貌似不是改改這3個子函數(shù)就可以的哦???
/* 如果單片機與CH375是串口連接,那么參考下面的子程序 void CH375_PORT_INIT( ) { SCON = 0xD0; 設(shè)置串口為9位數(shù)據(jù) 設(shè)置波特率和其它串口參數(shù) }
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 ); } */ 是這樣的啊,你這樣移植后有什么問題么?測試命令能不能過?
我用的M3內(nèi)核的單片機 32位的!測試命令能過!現(xiàn)在的獲取不到描述符!?。?/p>
如果你獲取設(shè)備描述符都失敗,那么需要檢查下你的USB口的硬件接法是否有問題?還有CH375用的晶振是否為12M。這些都會影響到你獲取描述符。
嗯、就是獲取設(shè)備描述符都失??!晶振是12MHZ的 接口也沒問題!?。“?。。。。
那你看下你的鼠標(biāo)或者鍵盤接到USB口上去的時候,UD+和UD-對地的電壓是多少?然后發(fā)送獲取設(shè)備描述符命令之后使用示波器看下UD+和UD-上面是否有波形出來。
UD+為0 UD-為2.8v !發(fā)送獲取設(shè)備描述符命令之后有波形??!
參照網(wǎng)上例程,復(fù)位過了,設(shè)備已經(jīng)連接上了,SETUP階段操作也成功了,DATA階段不成功,status返回的值是0x2e,我用的單片機是M3內(nèi)核的LM3S9B92!求助啊?。。?/p>
你的設(shè)備是低速設(shè)備,檢查下USB口線的電源電壓是多少
USB電源用的5V的
實際用萬用表量是多大?你硬件原理怎么沒有發(fā)過來
WanJ: 硬件原理圖已發(fā)你郵箱