就是完成向端點(diǎn)1寫數(shù)據(jù),在上位機(jī)產(chǎn)生中斷接收
我使用的是CH372的內(nèi)置固件模式
和端點(diǎn)2寫的方式一樣,只是命令不同寫數(shù)據(jù)的時(shí)候: CH375_WR_CMD_PORT( CMD_WR_USB_DATA5 ); CH375_WR_DAT_PORT( length ); /* 首先寫入后續(xù)數(shù)據(jù)長(zhǎng)度, for ( i = 0; i < length; i ++ ) CH375_WR_DAT_PORT( buffer[ i ] );
只有命令不同,我也是這樣做的,可是PC機(jī)端就是沒有中斷! 上位機(jī)端是374已經(jīng)調(diào)好的: 初始化時(shí)設(shè)置: CH375SetIntRoutine(mIndex, IntRoutine);
void CALLBACK IntRoutine(PUCHAR iBuffer) { IntData = 1; //設(shè)置上傳中斷標(biāo)識(shí) }
CH375SetIntRoutine要在打開設(shè)備之后調(diào)用.你可以這樣測(cè)試一下,先不用CH375SetIntRoutine,用CH375ReadInter讀端點(diǎn)1的數(shù)據(jù),看有沒有數(shù)據(jù)
恩,用CH375ReadInter確實(shí)能讀出下位機(jī)上傳的數(shù)據(jù),這是說問題出在上位機(jī)嗎?
上位機(jī)中: 我也打開設(shè)備了,然后設(shè)置的CH375SetIntRoutine(mIndex, IntRoutine);
如果可以讀的上來的話,估計(jì)你上位機(jī)程序有點(diǎn)問題
把代碼發(fā)到技術(shù)支持郵箱 tech@wch.cn
372在內(nèi)置固件2模式下,端點(diǎn)"0"它的中斷是自動(dòng)處理的, 端點(diǎn)"1"是要查中斷狀態(tài)后單片機(jī)再做處理的. 那如果我要去手動(dòng)方式處理"0"端點(diǎn)的數(shù)據(jù)的話,是不是也可以用查中斷狀態(tài)的命令去處理呢.
是的,可以的, 下載CH372EVT.ZIP文件夾XFIRM下就是外部固件的程序.
公司網(wǎng)站上放的DEBUG372這個(gè)文件,里面只有VC的源程序,為什么沒有做一個(gè)VB的源程序呢.
有的,你下載CH372EVT.ZIP.里面有個(gè)VB文件夾