請(qǐng)問在labview中,是否可以使用中斷方式讀取數(shù)據(jù)。我使用的是CH372芯片,網(wǎng)頁(yè)上提供的lv例子中中斷調(diào)用總是不正常。
在labview中能不能提供一種獲取函數(shù)地址或函數(shù)指針的機(jī)制,如果能的話就可以使用,CH375SetIntRoutine第2個(gè)參數(shù)就是接受一個(gè)函數(shù)地址或函數(shù)指針,"不正常"是指什么,能進(jìn)中斷服務(wù)程序嗎? 還有就是你說的"中斷方式讀取數(shù)據(jù)",中斷方式是上位機(jī)調(diào)用CH375SetIntRoutine設(shè)置一個(gè)回調(diào)函數(shù),下位機(jī)向端點(diǎn)1寫一個(gè)數(shù)據(jù)包,我們的動(dòng)態(tài)庫(kù)就會(huì)自動(dòng)讀取數(shù)據(jù)包,然后再調(diào)用你設(shè)置的回調(diào)函數(shù),回調(diào)函數(shù)的參數(shù)就是讀到的數(shù)據(jù),不需要你再去調(diào)用CH375ReadInter讀數(shù)據(jù)了
謝謝。我一旦調(diào)用CH375ReadInter讀取中斷時(shí),lv系統(tǒng)就“死機(jī)”不能操作了。這樣看來,是否labview無法使用CH375的中斷讀取方式?
調(diào)用CH375ReadData會(huì)死機(jī)嗎?這很可能是因?yàn)闆]為CH375ReadInter設(shè)置超時(shí),用CH375SetTimeoutEx設(shè)置中斷上傳數(shù)據(jù)的超時(shí)時(shí)間試試
調(diào)用CH375ReadData操作是正常的,也用了CH375SetTimeoutEx。但只要使用中斷函數(shù)有關(guān)的操作就“假死”了。有些資料說labview中沒有指針機(jī)制,是否這個(gè)原因造成不可使用中斷函數(shù)了?
CH375ReadData的第2個(gè),第3個(gè)參數(shù)不是指針類型的嘛!如果沒有肯定會(huì)有替代的機(jī)制. 如果不使是CH375SetIntRoutine,而使用CH375ReadInter的話,使用的方法跟CH375ReadData是一樣的,沒有什么區(qū)別,CH375ReadInter讀是端點(diǎn)1的數(shù)據(jù),CH375ReadData是讀的端點(diǎn)2的數(shù)據(jù).注意CH375SetTimeoutEx的第5個(gè)參數(shù)是設(shè)置中斷上傳數(shù)據(jù)的超時(shí)時(shí)間.如果使用了CH375ReadInter的話就不要調(diào)用CH375SetIntRoutine了
我再次核對(duì)了CH375DLL.H中的定義,CH375SetIntRoutine和CH375ReadInter的第一個(gè)參數(shù)都是指定“CH375設(shè)備序號(hào),必須是0”。第二個(gè)參數(shù)前者是指定中斷服務(wù)回調(diào)程序;后者指向一個(gè)足夠大的緩沖區(qū)、及長(zhǎng)度單元。 在示例中也是這么設(shè)置的參數(shù),看不出什么異常值。所以,提到的端點(diǎn)1和端點(diǎn)2從哪里區(qū)分看不出,還得麻煩您解釋一下。另外一點(diǎn)就是,在labview中只要一執(zhí)行CH375ReadInter就會(huì)假死,lv再也不能操作了。 如果使用CH375ReadInter是否仍然需要采用循環(huán)讀?。? 還有一個(gè)原因不知是否DLL庫(kù)文件或LV的示例程序有問題。煩請(qǐng)指教,多謝。
端點(diǎn)1和端點(diǎn)2是在下位機(jī)里區(qū)分的,如果你下位機(jī)不從端點(diǎn)1上傳數(shù)據(jù),上位機(jī)就調(diào)用CH375ReadInter的話,CH375ReadInter讀不到數(shù)據(jù)就會(huì)一直等所以會(huì)有死機(jī)的現(xiàn)象,CH375ReadInter可以采用循環(huán)讀取,這個(gè)跟CH375ReadData是一樣的.
明白了不少,再次感謝。
請(qǐng)問,lv中除了數(shù)組操作好像不能得到函數(shù)的指針,是否CH375SetIntRoutine函數(shù)無法實(shí)現(xiàn)?
在c語(yǔ)言里函數(shù)名就是函數(shù)地址,vb中有個(gè)address of來獲取函數(shù)地址,lv中就不清楚了,你可以到網(wǎng)上去找這方面的資料.