第一次用CH375 求助[原創(chuàng)]

求助 我第一次用CH375 單片機(jī):STC12C5A60S2 用測(cè)試命令(06H)時(shí),CH375返回值總是00 用命令(01H)時(shí)也是返回00 這是哪里的問題? 晶振換成有源的也是一樣。

幫我看下程序?qū)Σ粚?duì)?

CLR CS1 ;CH375_1有效

SETB A0 ;寫命令操作 CLR WR SETB RD LCALL DY_100US ;延時(shí)100US MOV A,#06H ;測(cè)試命令(06H) MOV P2,A

CLR A0 ;寫數(shù)據(jù)操作 CLR WR SETB RD LCALL DY_100US ;延時(shí)100US MOV A,#03H MOV P2,A LCALL SEND_DATA ;串口發(fā)送數(shù)據(jù),調(diào)試用

CLR A0 ;讀數(shù)據(jù)操作 CLR RD SETB WR LCALL DY_100US ;延時(shí)100US MOV A,P2 LCALL SEND_DATA ;串口發(fā)送數(shù)據(jù),調(diào)試用20141917585165.jpg

根據(jù)你的現(xiàn)象測(cè)試命令沒有正常通過,檢查一下CH375芯片有沒有正常工作?第25腳低電平、第26腳高電平。檢查一下你的并口接線是否正確?讀數(shù)據(jù)的時(shí)候P2方向設(shè)置成輸入。


第25腳低電平、第26腳高電平 是對(duì)的。 并口接線: CH375第15腳--MCU_P2.0 CH375第16腳--MCU_P2.1 。 。 。 CH375第22腳--MCU_P2.7


我上傳了電路,幫我看下連接是否有錯(cuò)?

另外LED是不是在接有USB設(shè)備的情況下會(huì)亮(不管MCU有沒有對(duì)CH375操作)? 我板子接上USB設(shè)備LED從沒有亮過。是不是CH375沒工作?


看了你的原理圖我們提供的基本上一樣,應(yīng)該沒有什么問題。時(shí)序那一塊有點(diǎn)問題,按照下面的流程來寫: CLR CS1 CH375_1有效

MOV A,#06H 測(cè)試命令(06H) MOV P2,A SETB A0 寫命令操作 CLR WR SETB RD SET WR CLR A0 LCALL DY_100US 延時(shí)100US MOV A,#03H MOV P2,A CLR A0 寫數(shù)據(jù)操作 CLR WR SETB RD SET WR SET A0 LCALL DY_100US 延時(shí)100US LCALL SEND_DATA 串口發(fā)送數(shù)據(jù),調(diào)試用

CLR A0 讀數(shù)據(jù)操作 CLR RD SETB WR MOV A,P2 SET RD LCALL DY_100US 延時(shí)100US LCALL SEND_DATA 串口發(fā)送數(shù)據(jù),調(diào)試用

LED燈只有在設(shè)置完模式之后插入設(shè)備才會(huì)變亮,你現(xiàn)在測(cè)試命令都沒有通過是不會(huì)變亮的。


非常感謝ZBin的幫助!操作成功。 我用CH75的目的是要用51單片機(jī)接USB鍵盤輸入數(shù)據(jù),還要驅(qū)動(dòng)USB打印機(jī)打印數(shù)據(jù)。請(qǐng)問有沒有相關(guān)例子可以參考?要匯編語言的。


下面是CH375B操作鼠標(biāo)鍵盤的匯編程序(1樓):http://www.findthetime.net/bbs/View.asp?S=101&I=19463


謝謝ZBin! 那個(gè)例子好像是個(gè)通用的程序。實(shí)際操作USB鍵盤沒有這么復(fù)雜吧? 能不能給我說下操作USB鍵盤的流程?從CH375B上電復(fù)位開始。謝謝!


例子中的是操作鼠標(biāo)的例子,操作鍵盤的還要跟復(fù)雜一下。 上電復(fù)位后大致流程是: (1)做測(cè)試命令,設(shè)置模式 (2)等待設(shè)備連接 (3)對(duì)鍵盤初始化:獲取設(shè)備描述符、設(shè)置地址、獲取配置描述符、獲取HID類描述符 (4)對(duì)于鍵盤設(shè)備,則可以設(shè)置報(bào)表 (5)最后進(jìn)行對(duì)應(yīng)端點(diǎn)的數(shù)據(jù)傳輸。


(4)對(duì)于鍵盤設(shè)備,則可以設(shè)置報(bào)表

設(shè)置報(bào)表的命令是什么?在CH375和CH372的技術(shù)文檔里面都沒有。在例程里面也沒有。


這個(gè)你可以看一下HID類協(xié)議規(guī)范。 我們程序中設(shè)置報(bào)表描述符的命令碼是 Set_Report_Cms: DB 21H,09H,00H,02H,00H,00H,01H,00H 例程是操作鼠標(biāo)的,沒調(diào)用這個(gè)命令,你可以參考一下設(shè)置地址那條命令。


12 01 10 01 00 00 00 08 F3 04 34 02 58 24 00 02 00 01 09 02 22 00 01 01 00 A0 32 09 04 00 00 01 03 01 02 00 09 21 11 01 00 01 22 3E 00 07 05 81 03 04 00 0A 05 01 09 02 A1 01 09 01 A1 00 05 09 19 01 29 03 15 00 25 01 95 03 75 01 81 02 95 05 75 01 81 03 05 01 09 30 09 31 15 81 25 7F 75 08 95 02 81 06 09 38 15 81 25 7F 75 08 95 01 81 06 C0 C0


上面第11樓是CH375B操作鼠標(biāo)范例編譯后運(yùn)行的結(jié)果。 從數(shù)據(jù)可以看出,鼠標(biāo)的各描述符都能正確讀出。 但是按鼠標(biāo)左、右鍵和移動(dòng)鼠標(biāo)都沒有數(shù)據(jù)送出,這是為什么?


那你要看下你獲取的端點(diǎn)號(hào)是否正確,按照你上面描述的端點(diǎn)號(hào)應(yīng)該為0X81,你看下你獲取數(shù)據(jù)的端點(diǎn)號(hào)是不是0X81?


我截取數(shù)據(jù)看了一下,端點(diǎn)號(hào)是81H。

    MOV R7,Endp_Num ;端點(diǎn)號(hào) lcall Uart_Send ;串口發(fā)送數(shù)據(jù),調(diào)試用 MOV R7,Endp_Num ;端點(diǎn)號(hào) MOV R6,#DEF_USB_PID_IN LCALL Issue_Token

這是論壇上的范例程序呢,我想應(yīng)該是調(diào)試通過了才放上論壇的吧。跟硬件有沒有關(guān)系呢?


我們的例子程序都是測(cè)試通過的,你的這種現(xiàn)象可能與你的鼠標(biāo)有關(guān)系,你可以換一個(gè)鼠標(biāo)試一下? 另外,對(duì)于部分鼠標(biāo)需要設(shè)置有重試次數(shù),可以改成: MOV R7,#89H ;位7為1則收到NAK時(shí)無限重試, 位3~位0為超時(shí)后的重試次數(shù) LCALL CH375_WR_DAT_PORT


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

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