我用的32單片機(jī),用376HOST的例程改的來識(shí)別鼠標(biāo)鍵盤的。在程序設(shè)置模式6和低速速率后得到的中斷狀態(tài)在插入鼠標(biāo)前是0C,插入鼠標(biāo)后是1F請(qǐng)問是什么原因?。?/p>
首先確保測(cè)試命令和設(shè)置模式正確通過,返回值也正確。檢查一下你中斷那塊的配置,插入鼠標(biāo)之后正確的返回狀態(tài)是0x15.
測(cè)試輸入0x55輸出一直是0XFA這可能是什么原因引起的呢、
由于我用的是stm32,默認(rèn)主頻是72M的,是用的SPI口通信,在時(shí)鐘上是不是需要改動(dòng)一下,應(yīng)該如何改呢?
測(cè)試命令不通過,說明的的接口程序有問題。我們CH376提供24MHz速度的SPI設(shè)備接口,即你的SPI時(shí)鐘需要小于24M。
在與PC通信的時(shí)候?qū)懙脑O(shè)備內(nèi)置固件模式下,用的相同的讀寫函數(shù)電腦有反應(yīng)的,我剛調(diào)試了下發(fā)現(xiàn)我的程序執(zhí)行一次SPI讀取數(shù)據(jù)大概要花10幾微秒,這樣的話用測(cè)試函數(shù)去測(cè)試的時(shí)候會(huì)不會(huì)出現(xiàn)不準(zhǔn)的情況??? Clr_USB_CS(); SPI1_ReadWriteByte(0x06); SPI1_ReadWriteByte(data); sa=SPI1_ReadWriteByte(0xff); Set_USB_CS(); 這里三個(gè)SPI1_ReadWriteByte()程序執(zhí)行一下要10幾微秒,這樣會(huì)不會(huì)導(dǎo)致sa讀出來的數(shù)據(jù)錯(cuò)誤???
這個(gè)時(shí)間不會(huì)對(duì)數(shù)據(jù)讀出數(shù)據(jù)有影響。如果這樣的話,你可以檢查一下硬件?CH376是否正常工作,第25腳復(fù)位輸出電平是否為低電平?
硬件應(yīng)該沒問題,因?yàn)橛玫氖腔鹋i_發(fā)板。我把設(shè)備模式下的程序下進(jìn)去與PC調(diào)試的時(shí)候都沒問題,主機(jī)模式下用的都是相同的接口函數(shù)。但配置成主機(jī)模式調(diào)試的時(shí)候卡在while (Wait_Interrupt()!=USB_INT_CONNECT);一直跳不出去。中斷返回一直達(dá)不到15。能不能告訴我個(gè)最簡(jiǎn)單的代碼能過了這個(gè)中斷
你之前不是測(cè)試命令和設(shè)置模式不通過嗎?這兩個(gè)命令都沒有涉及到中斷。
測(cè)試不行,但是設(shè)置模式OK的。而且測(cè)試命令只需要上電就可以測(cè)了吧?我現(xiàn)在也懷疑我的接口函數(shù)有問題,正在測(cè)。。。
上電復(fù)位后需要延時(shí)50ms,測(cè)試命令在這之后做。一定要確保測(cè)試命令通過。
(求助?。┰嚵撕枚喾NSPI讀寫方法,網(wǎng)上有人做成功的方法也用過了依然測(cè)試函數(shù)過不去。我覺得很奇怪,我用相同的函數(shù)去配置376成內(nèi)置固件模式然后一設(shè)置模式2插到電腦上電腦馬上有反應(yīng)了。這又說明接口函數(shù)沒問題,我很困惑了,為什么同樣的函數(shù)一種情況行另一種情況不行。。。調(diào)瘋掉了- -
我就配置好了端口,然后延時(shí)50MS后去用測(cè)試函數(shù)。然后返回值一直不對(duì)。 xWriteCH376Cmd(0x06); xWriteCH376Data(0x65); UK=xReadCH376Data(); 這個(gè)UK一直返回0x00;
你最好用示波器監(jiān)控一下你的時(shí)序,是否有時(shí)鐘?命令有沒有發(fā)出去?