91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 電子資訊 » 設計技術

LabView嵌入式開發模塊要點

發布時間:2012/7/13 10:53:40 訪問次數:1011

編程師更有效使用labview開發嵌入式應用的技巧。這些技巧中的許多也適用于其它高級工具。

a;動態分配存儲器技術

動態存儲器分配是一項編程師應盡可能避免的復雜操作。例如,如果動態分配出現在將數據存儲到數組內的一個循環內,那么它尤其有害。避免在一個循環內動態分配存儲器的常用方法是在該循環開始執行前,為每個數組預分配所需的存儲空間。

b;移位寄存器與隧道技術

labview的移位寄存器與隧道使數據進/出循環。工程師還利用移位寄存器在一個循環的每次執行之間傳遞數據。當數據用一個輸入隧道傳進一個循環時,labview必須拷貝該數據并將該拷貝數據送出來進行下線修改。為了確保原始數據對該循環的下次迭代執行時保持不變,這樣做是必需的。工程師也可以通過用一個移位寄存器把數據傳進該循環的方法來避免拷貝。這樣就消除了不必要的拷貝,從而加快了運行速度。

c;循環中的大常數技術

如果在循環內部放置一個常數,會使循環的每次執行都拷貝這個數據,從而加大執行時間和存儲器使用率。工程師可以避免這個情況,做法是把該常數移出該循環,或者用本地變量把數據傳遞到循環中。

d;數據類型強制轉換技術

labview開發環境只要有可能就自動地處理數據類型的沖突,其做法是把較小的數據類型轉換成較大的數據類型。例如,如果在一個整數和一個浮點數之間發生一個類型沖突,那么labview就把該整數轉換成一個浮點數,隨后再執行運算操作。這個轉換的代價是昂貴的,而且在許多情況下是不必要的。在大多數情況下,工程師可以通過為每個變量選取正確的數據類型來避免強制轉換。但是,如果該數據必須被強制轉換,則應在將其送去進行操作運算或函數計算前就完成轉換,這樣效率將會更高些。

e;簇技術的應用

當把異構數據捆綁到易管理的數據包中時,簇是有用的,比如說c語言結構(c structs)。然而,此時除了要考慮的全部數據外,數據內容的相關信息也必須和這些數據一起傳遞。因此,有的時候,尤其是在把數據傳到subvi時,相對于一個捆綁的簇而言,未捆綁的數據元素可以增加用戶應用的運行速度。

盡管類似labview這樣的高級編程語言有助于工程師更快地部署其應用,但注意可提高代碼性能的細節是很重要的。通過注意這些細節,有助于工程師快速開發一個高效率的應用。

無論使用什么設計語言,不良的編程技術都會給一個應用的性能帶來負面影響,對一個嵌入式應用尤其如此。盡管對于絕大部分應用來說,高效率的編程技術是重要的,但對于嵌入式應用所工作的資源極度缺乏的環境,則要求對性能和存儲器管理給予特別的關注。

本文的討論將圍繞著新的labview嵌入式開發模塊進行,這種新工具為嵌入式應用開發人員提供了圖形化系統設計手段。該工具允許用戶直觀地設計算法并進行交互式調試。

http://www.stjsdz.com/

編程師更有效使用labview開發嵌入式應用的技巧。這些技巧中的許多也適用于其它高級工具。

a;動態分配存儲器技術

動態存儲器分配是一項編程師應盡可能避免的復雜操作。例如,如果動態分配出現在將數據存儲到數組內的一個循環內,那么它尤其有害。避免在一個循環內動態分配存儲器的常用方法是在該循環開始執行前,為每個數組預分配所需的存儲空間。

b;移位寄存器與隧道技術

labview的移位寄存器與隧道使數據進/出循環。工程師還利用移位寄存器在一個循環的每次執行之間傳遞數據。當數據用一個輸入隧道傳進一個循環時,labview必須拷貝該數據并將該拷貝數據送出來進行下線修改。為了確保原始數據對該循環的下次迭代執行時保持不變,這樣做是必需的。工程師也可以通過用一個移位寄存器把數據傳進該循環的方法來避免拷貝。這樣就消除了不必要的拷貝,從而加快了運行速度。

c;循環中的大常數技術

如果在循環內部放置一個常數,會使循環的每次執行都拷貝這個數據,從而加大執行時間和存儲器使用率。工程師可以避免這個情況,做法是把該常數移出該循環,或者用本地變量把數據傳遞到循環中。

d;數據類型強制轉換技術

labview開發環境只要有可能就自動地處理數據類型的沖突,其做法是把較小的數據類型轉換成較大的數據類型。例如,如果在一個整數和一個浮點數之間發生一個類型沖突,那么labview就把該整數轉換成一個浮點數,隨后再執行運算操作。這個轉換的代價是昂貴的,而且在許多情況下是不必要的。在大多數情況下,工程師可以通過為每個變量選取正確的數據類型來避免強制轉換。但是,如果該數據必須被強制轉換,則應在將其送去進行操作運算或函數計算前就完成轉換,這樣效率將會更高些。

e;簇技術的應用

當把異構數據捆綁到易管理的數據包中時,簇是有用的,比如說c語言結構(c structs)。然而,此時除了要考慮的全部數據外,數據內容的相關信息也必須和這些數據一起傳遞。因此,有的時候,尤其是在把數據傳到subvi時,相對于一個捆綁的簇而言,未捆綁的數據元素可以增加用戶應用的運行速度。

盡管類似labview這樣的高級編程語言有助于工程師更快地部署其應用,但注意可提高代碼性能的細節是很重要的。通過注意這些細節,有助于工程師快速開發一個高效率的應用。

無論使用什么設計語言,不良的編程技術都會給一個應用的性能帶來負面影響,對一個嵌入式應用尤其如此。盡管對于絕大部分應用來說,高效率的編程技術是重要的,但對于嵌入式應用所工作的資源極度缺乏的環境,則要求對性能和存儲器管理給予特別的關注。

本文的討論將圍繞著新的labview嵌入式開發模塊進行,這種新工具為嵌入式應用開發人員提供了圖形化系統設計手段。該工具允許用戶直觀地設計算法并進行交互式調試。

http://www.stjsdz.com/

熱門點擊

推薦電子資訊

EMC對策元件
應用: 汽車以太網系統的車載多媒體信息娛樂系統,如駕... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
重庆市| 介休市| 富川| 襄城县| 兴山县| 巴中市| 浦江县| 乡宁县| 延边| 南部县| 清原| 乾安县| 邹城市| 武陟县| 全州县| 宁强县| 垣曲县| 青岛市| 通海县| 曲水县| 武威市| 浦东新区| 天长市| 清流县| 宜春市| 海盐县| 阳谷县| 曲沃县| 赤城县| 永善县| 新乡县| 朝阳市| 藁城市| 云浮市| 鸡泽县| 常德市| 武川县| 海阳市| 金沙县| 阿拉善盟| 资源县|