labview如何用串列埠向微控制器傳送浮點數

時間 2021-08-31 19:59:18

1樓:匿名使用者

用這個函式,在數學-》數值-》資料操作。

不過你得注意微控制器接收的浮點數是什麼格式的,是float還是double,labview預設的浮點數都是double佔64bits。如果微控制器的浮點數是32bits,你得把「數值」的表示法換成sgl才行。

還有就是大端小端問題,如果你微控制器那邊收的數完全不對,你可以考慮換一種對齊方式。

2樓:匿名使用者

1、首先,要確定下用的是哪款微控制器,是否支援浮點數;

2、然後,用的什麼協議與微控制器通訊;

3、各種型別的資料(整形、浮點型)都是先用格式化的方式轉行成了無符號整形,然後下發。讀取就是先將讀取的資料格式化成所定義的型別。這樣可以保證16位或32位的每個位的值都不改變。

3樓:匿名使用者

你在這裡需要做的是數值到字串的轉換。

如圖,下列三種方式任選其一即可。前兩種相當於通過指標型別轉換得到,方便快捷,但對新手來說不直觀。後一種相當於sprintf函式格式化得到,看起來比較直觀。

4樓:匿名使用者

用sprintf語句,格式為"%d",輸出就是浮點數了,微控制器收到的是一串數字,中間包括小數點,比如 135.24,在微控制器裡定義一個浮點變數,用一迴圈,前一位*10+後一位,遇到小數點後每一位*1/10。

還有一個方法,在上位機程式和下位機程式裡各定義一個char型陣列如a[2]和一個浮點變數m,a[2]在前,m在後,兩個緊挨著。上位機要把m的值發給下位機,就把a[2],a[3],a[4],a[5]四個位元組發過去就行了,下位機收到後出填入a[2],a[3],a[4],a[5],這樣一個浮點數就發過來了。當然,這要採用二進位制通訊方式,不能用文字方式!

labview 中怎麼把浮點數轉換成 4位十六進位制數的陣列

5樓:匿名使用者

就是通過labview程式設計,把浮點數轉換成十六進位制? 程式我編過,自己用的。方法就是十進位制小數部分先轉成二進位制,再轉成十六進位制。整數部分用軟體裡自帶的函式就可以直接轉十六進位制。

回答裡好提交附件麼。。。。。只好截圖了。。。。。

第一個是主程式,下面兩個子程式依次是 求出小數部分,將二進位制的小數轉化成十六進位制。

6樓:凡塵清泉

樓主試試下面的方法,我也是查了好久。 我遇到的問題是使用labview上位機通過串列埠向下位機(微控制器)傳送浮點數。想把一個4位元組的浮點數的每個位元組都轉化成一個字元。

和你的問題很相似。labview預設的數值輸入框是64位的,所以要先將它轉換成單精度浮點型,然後強制轉換再拆分,最後的結果中,數值2控制元件顯示的值為該浮點數所佔的位元組中的最高位元組中的值,而數值5控制元件中顯示的值為最低位元組中的值。

微控制器傳送一個整型資料給串列埠,如何通過labview讀取並顯示出這個數。

7樓:匿名使用者

用 串列埠接收 讓後把字串 轉化為位元組陣列

8樓:

vb我會編寫。需要不?

51微控制器,通過串列埠助手向微控制器傳送字串,微控制器將字串逆序傳送回計算機,用C語言程式設計

電腦通過串列埠助手向微控制器傳送字串,微控制器定義一個可以儲存7個字元的陣列,依次儲存接收的字串,當接收到7個字串後,就可以從陣列的最後一個字元向前傳送每一個字元給電腦就可以了。剩下的就是串列埠初始化,串列埠接收和傳送程式了,就比較好寫了。其實,電腦傳送任意的7個字元的字串都可以,微控制器收到後就可...

如何用串列埠除錯助手除錯422介面

顯然,先 要有 線路,然後 再 談 除錯 電腦 串列埠 rs232 rs422 422線路 rs422 rs232 電腦 串列埠 2 端 電腦 上 用 串列埠除錯助手 相互傳送 資料,看 對方能否正確收到 請看 武漢鴻偉光電 e485b rs232 rs485有源隔離轉換器e485c rs232 r...

微控制器如何用PWM來測出方波頻率

上賊船莫怕死 脈寬調製 pwm 基本原理 控制方式就是對逆變電路開關器件的通斷進行控制,使輸出端得到一系列幅值相等的脈衝,用這些脈衝來代替正弦波或所需要的波形。也就是在輸出波形的半個週期中產生多個脈衝,使各脈衝的等值電壓為正弦波形,所獲得的輸出平滑且低次諧波少。按一定的規則對各脈衝的寬度進行調製,即...