跪求~CH375B做主機(jī)用串口方式連單片機(jī)的鍵盤(pán)、鼠標(biāo)例程~[求助]

求~CH375B做主機(jī)用串口方式連單片機(jī)的鍵盤(pán)、鼠標(biāo)例程~

我現(xiàn)在通過(guò)串口方式使用CH375B做主機(jī)來(lái)操作鍵盤(pán),板子已經(jīng)做好,程序?qū)懙搅伺渲肬SB設(shè)備這里,CMD_AUTO_SETUP命令用過(guò),返回Ox14,說(shuō)明事務(wù)成功了吧?接下來(lái)建立連接就出現(xiàn)了問(wèn)題,我不知道自動(dòng)配置的時(shí)候是默認(rèn)使用哪個(gè)端點(diǎn)?用CMD_ISSUE_TKN_X建立連接的時(shí)候,CH375會(huì)不斷地返回0x28或0x2e。 之前取得的描述符為: 設(shè)備: 12 12 01 00 01 00 00 00 08 B4 04 00 01 01 00 01 02 00 01 設(shè)備 12 12 01 10 01 00 00 00 08 3C 41 03 20 00 02 01 02 00 01 鍵盤(pán) 12 12 01 10 01 00 00 00 08 41 12 77 11 00 02 00 00 00 01 鼠標(biāo) PHILIPS

配置: 22 09 02 22 00 01 01 00 A0 32 09 04 00 00 01 03 01 02 00 09 21 00 01 00 01 22 34 00 07 05 81 03 08 00 0A 鼠標(biāo) PHILIPS 22 09 02 22 00 01 01 04 A0 32 09 04 00 00 01 03 01 01 05 09 21 00 01 00 01 22 3F 00 07 05 81 03 08 00 0A 設(shè)備 22 09 02 22 00 01 01 04 A0 23 09 04 00 00 01 03 01 01 05 09 21 10 01 00 01 22 41 00 07 05 81 03 08 00 18 鍵盤(pán) 參考了“CH375B芯片做主機(jī)操作鼠標(biāo)、鍵盤(pán)的例子程序.c”以后,我自己試著修改了一下例程,發(fā)現(xiàn)并不是簡(jiǎn)單的改幾個(gè)小地方就可以的,還存在許多問(wèn)題(我發(fā)現(xiàn)原例程里面就存在問(wèn)題……在枚舉部分)。 希望可以在“CH375B芯片做主機(jī)操作鼠標(biāo)、鍵盤(pán)的例子程序.c”的基礎(chǔ)上,做一個(gè)串口方式的例程。 另外,希望給一個(gè)配置包的分析說(shuō)明文件,因?yàn)椴恢烂恳粋€(gè)字符的含義就沒(méi)有辦法正確配置(協(xié)議的翻譯稿最好)。 我的郵箱個(gè)人信息保護(hù),已隱藏方便的話(huà)發(fā)給我吧,或者直接把關(guān)鍵點(diǎn)回復(fù)下來(lái),多謝


熱門(mén)產(chǎn)品 : USB3.0 HUB控制器:CH634

自動(dòng)配置和端點(diǎn)沒(méi)關(guān)系的. 流程基本不變,你只要去修改對(duì)375的三個(gè)讀寫(xiě)子函數(shù)就可以了.就參考你用的文件就行了.


例程說(shuō)是查詢(xún)中斷,結(jié)果發(fā)現(xiàn)不是查詢(xún)方式的,開(kāi)了EX0。 如果改讀函數(shù)的話(huà),就涉及到RI和INT0中斷沖突的問(wèn)題,因?yàn)榫唧w怎么配置時(shí)序不是像你們這樣的專(zhuān)業(yè)是很難一點(diǎn)點(diǎn)試出來(lái)的,開(kāi)了串口中斷收375的數(shù)據(jù),還要考慮INT0處理中斷的函數(shù),根本不是簡(jiǎn)單的改改就能完成的(不信你可以改改試試,并不像想象中的那么簡(jiǎn)單),至少我改了以后發(fā)現(xiàn)基本上大部分的函數(shù)我都改過(guò),不該時(shí)序就對(duì)不上了,總是死在某個(gè)地方,所以才請(qǐng)教你們給一份串口的例程,這本就應(yīng)該提供的,不是嗎?現(xiàn)在大量的時(shí)間都耗在研究USB芯片上,煩??! 給一份串口例程吧,拜托了!


首先我們可以修改,提供給您串口操作的相關(guān)程序. 解釋一下,沒(méi)有必要用中斷去收CH375的數(shù)據(jù),因?yàn)閱纹瑱C(jī)是主動(dòng)方,也就是說(shuō),當(dāng)MCU控制發(fā)起一次事務(wù)的時(shí)候,有沒(méi)有數(shù)據(jù)你是可以知道的,比如去接收鍵盤(pán)數(shù)據(jù),只有你讓鍵盤(pán)傳數(shù)據(jù),鍵盤(pán)才會(huì)上傳的,平時(shí)MCU也不會(huì)收到數(shù)據(jù)的,所以串口是完全沒(méi)有必要用中斷方式的. 下面貼出串口操作的相關(guān)程序,您把讀寫(xiě)子函數(shù)按照下面的程序替換,操作一下看看: 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 ); }

void mInitSTDIO( ) { SCON = 0x50; PCON = 0x80; TMOD = 0x20; TH1 = 0xf3; /* 24MHz晶振, 9600bps */ TR1 = 1; TI = 1; } 另外如果您對(duì)我解釋的還有不明白的話(huà),您還可以電話(huà)咨詢(xún),02552638370,我們會(huì)給您詳細(xì)的解答.


非常感謝您的回復(fù),我之前自己做的時(shí)候也是這么做的,但是就是不知道哪里出了問(wèn)題,總是就是沒(méi)反映。。。沒(méi)辦法,我只能改成總線(xiàn)連接方式了,這樣就可以直接用例程了,呵呵 經(jīng)過(guò)調(diào)試,基本功能已經(jīng)沒(méi)有問(wèn)題了,現(xiàn)在是卡在了USB設(shè)備的配置上了,今天我又發(fā)了一個(gè)新帖子,希望您能夠去看一下,看看我的USB設(shè)備到底應(yīng)該如何配置呢? 再次由衷地感謝您的回復(fù),謝謝!


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频