我在程序中只寫(xiě)了一個(gè)初始化,pc可以識(shí)別,然而在循環(huán)中添加了其他程序卻識(shí)別不了了。請(qǐng)大蝦支招!謝謝
應(yīng)該不會(huì)啊!在設(shè)置好模式之后就可以操作了??!是不是你的程序有問(wèn)題啊,你可以將程序發(fā)過(guò)來(lái)我們看下
void main(void) { delay1s(); //延時(shí)等待CH375初始化完成,如果單片機(jī)由CH375提供復(fù)位信號(hào)則不必延時(shí) CH375_Init(); //初始化CH375 EOC=1; while(1) { adc0809_sev(); CH375_WR_DATA_BLK(getdata); if( CH375_INT_WIRE==0 ) // 從USB設(shè)備接收到數(shù)據(jù) { mCh375Interrupt(); } } } 上面是主程序 其中的兩個(gè)函數(shù)是我自己寫(xiě)的 void adc0809_sev(void) { uchar Up_length; uint get=0; ST=0; ST=1; ST=0; while(EOC==0); OE=1; getdata=P1; OE=0; get=getdata;//getdata 設(shè)為全局變量 }
void CH375_WR_DATA_BLK(uchar Up_data)// 向USB端點(diǎn)2的發(fā)送緩沖區(qū)寫(xiě)入數(shù)據(jù)塊 { uchar Up_length; CH375_WR_CMD_PORT(CMD_WR_USB_DATA7);//命令向USB端點(diǎn)2的發(fā)送緩沖區(qū)寫(xiě)入數(shù)據(jù)塊 Up_length=1;//只寫(xiě)入一個(gè)字節(jié)的數(shù)據(jù)(0809采集的電壓) CH375_DATA_PORT=Up_length;//首先寫(xiě)入數(shù)據(jù)長(zhǎng)度 CH375_WR_DAT_PORT(Up_data);//寫(xiě)入數(shù)據(jù)到CH375 } 上面這個(gè)函數(shù)我只用來(lái)發(fā)送一個(gè)字節(jié)的數(shù)據(jù) 其它的函數(shù)我都是根據(jù)例子稍微改了一下 現(xiàn)在我上面兩個(gè)函數(shù)屏蔽掉任何一個(gè)就可以識(shí)別,但是兩個(gè)都用的話卻不能識(shí)別 不知道是為什么?我0809和usb的中斷都是用查詢(xún)方法
你下面的那個(gè)程序即使你是能識(shí)別的,那你也上傳不上去,你可以參考我們的TEST。C的例子程序或者你將你的程序全部發(fā)到我們技術(shù)信箱: tech@wch.cn 到時(shí)候給你發(fā)一個(gè)例子程序過(guò)去,你可以參考
謝謝!我發(fā)了郵件了!期待回復(fù)