用虛擬儀器軟件做了一個上位機(jī)軟件,思路是由上位機(jī)先發(fā)送任意一個數(shù)據(jù),下位單片機(jī)接到后即把采集到的溫度數(shù)據(jù)發(fā)送給上位機(jī),溫度數(shù)據(jù)僅有2個字節(jié),但是上位機(jī)軟件編寫好后昨天還能用,今天早上再用就收不到下位單片機(jī)發(fā)送的數(shù)據(jù)了,再調(diào)試以后就開始死機(jī),程序無法運(yùn)行,用DEBUG372.EXE試過,接收發(fā)送都很正常,應(yīng)該是我編的上位機(jī)軟件的問題,所以想請教一下,上位機(jī)軟件編寫時調(diào)用動態(tài)鏈接庫函數(shù)的順序應(yīng)該是什么樣的? 我的步驟如下: 1,復(fù)位USB 設(shè)備:CH375ResetDevice, 2,打開設(shè)備:CH375OpenDevice 3,獲取USB 配置描述符:CH375GetConfigDescr 4,調(diào)用CH375WriteRead,寫入任意數(shù)據(jù),讀出下位機(jī)數(shù)據(jù) 5,關(guān)閉設(shè)備:CH375CloseDevice
這樣的順序是否正確,還有什么需要注意的地方嗎?
1,打開設(shè)備:CH375OpenDevice 2,調(diào)用CH375WriteRead,寫入任意數(shù)據(jù),讀出下位機(jī)數(shù)據(jù) 3,關(guān)閉設(shè)備:CH375CloseDevice 這樣就可以了
昨天按你說的改過之后就可以用了,但是今天不知道怎么搞的,開機(jī)之后又出現(xiàn)了收不到下位機(jī)數(shù)據(jù)的問題,用DEBUG372.EXE試過,接收發(fā)送都很正常,打開設(shè)備、調(diào)用、關(guān)閉設(shè)備有哪些參數(shù)需要設(shè)定嗎?感覺這樣編寫的上位機(jī)軟件不是很穩(wěn)定,
我在上位機(jī)軟件中調(diào)用CH375WriteRead中,輸入了數(shù)據(jù)2,長度1,在下位機(jī)編程中返回的是兩字節(jié)的數(shù)據(jù),我在上位機(jī)軟件中加了顯示控件顯示返回的數(shù)據(jù)長度,數(shù)據(jù)長度顯示是2,符合預(yù)先的設(shè)定,但就是沒有返回?cái)?shù)據(jù),這是為什么呢?昨天也是這種情況,但按zyw 說的改了之后就可以了,今天早上再試又不行了,很奇怪,而且用DEBUG372.EXE試過,接收發(fā)送都很正常 zyw在嗎?
你用CH375WriteData和CH375ReadData兩個函數(shù)代替CH375WriteRead試試,或者把你的代碼貼出來看看
今天開機(jī)后運(yùn)行程序,又可以了,真是搞不清楚是怎么回事,時好時壞 咱們論壇從哪能上傳圖片啊?
你先確定是上位機(jī)問題還是下位機(jī),可以用TEST程序測試一下,看是不是硬件造成的!
在論壇里給你發(fā)了一個郵件 先謝謝你的幫助
你把你的VI文件發(fā)過來,我今天才裝了一個LIBVIEW! CH375OpenDevice的參數(shù)和返回類型都是unsigned long類型 CH375WriteData返回類型都是unsigned long類型,第2個參數(shù),輸入時指向一個(UCHAR型)數(shù)組變量,第3個變量輸入輸出都要設(shè)置成unsigned long類型指針 CH375ReadData返回類型都是unsigned long類型,第3個參數(shù),輸入時設(shè)置成unsigned long類型指針,并且指向的值要設(shè)置成要讀取的長度,如設(shè)置成64;第3個變量輸出時也要設(shè)置成unsigned long類型指針,表示實(shí)際讀到的數(shù)據(jù)量
程序發(fā)給你了! 謝謝
CH375OpenDevice、CH375CloseDevice的參數(shù)和返回類型都定義成了無符號32位整數(shù)暫時又可以了
你那CH375ReadData,輸入時第3個參數(shù)沒設(shè)置,要設(shè)置成unsigned long類型指針,并且指向的值要設(shè)置成要讀取的長度,如設(shè)置成64;第3個變量輸出時也要設(shè)置成unsigned long類型指針,表示實(shí)際讀到的數(shù)據(jù)量。 CH375WriteData是第2,第3個參數(shù)輸入時都要設(shè)置,輸出時第3個參數(shù)要設(shè)置成置成unsigned long類型指針,表示實(shí)際寫下去的數(shù)據(jù)量。
在LV的動態(tài)鏈接庫控件中沒有直接提供unsigned long類型的定義,我將unsigned long類型的都定義為無符號64位整型的數(shù)據(jù)了,今天兩種方式 的都可以運(yùn)行了,希望以后也都正常!謝謝你的幫助哈!
unsigned long類型是指無符號32位整型。