摘 要:本文主要介紹了一種基于VC++的串口通信原理,利用MFC編程,實(shí)現(xiàn)了不僅可實(shí)時(shí)接收數(shù)據(jù),而且可定點(diǎn)接收數(shù)據(jù)的上位機(jī)設(shè)計(jì)方法。
關(guān)鍵詞:VC++;定點(diǎn);串口通信
Visual C++ 是現(xiàn)今最復(fù)雜,但也是功能最為強(qiáng)大的一種Windows應(yīng)用程序開(kāi)發(fā)工具[ 1 ]。
串口通信是指外設(shè)和計(jì)算機(jī)間,通過(guò)數(shù)據(jù)信號(hào)線、地線、控制線等,按位進(jìn)行傳輸數(shù)據(jù)的一種通訊方式。
這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約通信成本,但其傳輸速度比并行傳輸?shù)汀?/p>
目前,大多數(shù)調(diào)試助手都只能實(shí)時(shí)接收數(shù)據(jù),而不能定點(diǎn)接受數(shù)據(jù),本文就介紹了一種利用VC++編程,可指定時(shí)間接收并保存數(shù)據(jù)的上位機(jī)設(shè)計(jì)方法。
1 總體設(shè)計(jì)
程序的主要功能是:利用串口通信原理,實(shí)現(xiàn)上位機(jī)與下位機(jī)的數(shù)據(jù)交換,在上位機(jī)軟件上可以實(shí)時(shí)顯示數(shù)據(jù),并且實(shí)現(xiàn)在每天指定時(shí)刻自動(dòng)接收并顯示數(shù)據(jù),最終將這些數(shù)據(jù)保存在ACESS數(shù)據(jù)庫(kù)中。
2 程序主要功能的實(shí)現(xiàn)
2.1 設(shè)置定時(shí)器
VC++中定時(shí)器設(shè)置通過(guò)OnTimer(UINT nIDEvent)函數(shù)實(shí)現(xiàn),在需要設(shè)置定時(shí)器處,調(diào)用SetTimer()函數(shù)即可使用定時(shí)器,本上位機(jī)中定時(shí)器部分代碼如下:
2.2 定點(diǎn)接收數(shù)據(jù)并存儲(chǔ)
定點(diǎn)接收數(shù)據(jù)的方法主要是通過(guò)獲取系統(tǒng)當(dāng)前時(shí)刻并與設(shè)定的特定時(shí)刻相比較來(lái)實(shí)現(xiàn)的。接收數(shù)據(jù)后再通過(guò)存儲(chǔ)數(shù)據(jù)函數(shù)將數(shù)據(jù)保存至數(shù)據(jù)庫(kù)。部分代碼如下:
3 總結(jié)
本文介紹了一種利用VC++的MFC編程,既能實(shí)時(shí)進(jìn)行數(shù)據(jù)接收,又能特定時(shí)刻接收數(shù)據(jù)并保存數(shù)據(jù)的上位機(jī)設(shè)計(jì)方法。 此設(shè)計(jì),可拓展其他功能,例如發(fā)送數(shù)據(jù)至串口,對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行分析等,用于其他更高層的設(shè)計(jì)當(dāng)中。
參考文獻(xiàn):
[1] 王莉,陽(yáng)春華.基于VC++串口通信設(shè)計(jì)及其應(yīng)用[J].控制工程,2014(11):90-92.
作者簡(jiǎn)介:曹可欣(1995-),女,漢族,浙江寧波人,學(xué)生,本科,南京農(nóng)業(yè)大學(xué)工學(xué)院電子信息科學(xué)與技術(shù)專(zhuān)業(yè),研究方向:電子信息科學(xué)與技術(shù)。