labview實(shí)現(xiàn)串口通信(二)
labview也可以調(diào)用mscomm控件來(lái)實(shí)現(xiàn)串口通信,但是編程相對(duì)來(lái)講比較復(fù)雜,一般不推薦,直接用labview中自帶的visa是最方便的,在調(diào)試過(guò)程中的注意事項(xiàng),
一、串口通訊的波特率設(shè)置要精確,比如要求9600的波特率,則晶振應(yīng)選擇11.0593MHz或其倍數(shù)。
二、由于通常情況下LabVIEW串口VI接收或發(fā)送的都是字符串(Normal),
這里是指串口通信中,如果不是在串口通信,我們可以做個(gè)小小的驗(yàn)證,
在前面板中,字符串在正常顯示的情況下,你輸入00,跟字符串00也會(huì)匹配,指示燈也會(huì)亮的,但是在串口通信中,一定注意,
所以如果需要發(fā)送或接收十六進(jìn)制數(shù)值(Hex),請(qǐng)?jiān)诎l(fā)送或接收之前進(jìn)行必要的轉(zhuǎn)換。(這一點(diǎn)尤其要注意)
在與單片機(jī)通信的時(shí)候,假如說(shuō)跟下位機(jī)的協(xié)議是發(fā)送字符串00,那么開(kāi)始采集信號(hào),并顯示出來(lái),如果你也發(fā)送00的話,跟字符串根本是不一樣的,首先要經(jīng)過(guò)變化,因?yàn)?0對(duì)應(yīng)的ascii碼是4848,16進(jìn)制就是3030所以你發(fā)送的字符串在16進(jìn)制下也應(yīng)該是3030