新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 一種基于狀態(tài)機的串口通信協(xié)議的設計與實現(xiàn)

一種基于狀態(tài)機的串口通信協(xié)議的設計與實現(xiàn)

作者: 時間:2012-05-18 來源:網絡 收藏

3

下位機采用ATMEL公司的AVR系列單片機ATmega168作為其核心控制單元;上位機軟件采用Delphi 7.0編寫,Delphi 7.0是Borland公司開發(fā)的Windows平臺的面向對象的快速應用程序開發(fā)工具。本上位機程序采用Delphi開發(fā),主要考慮到Delphi易于多線程編程。另外,Delphi開發(fā)程序的簡單、高效,也是上位機軟件選擇其作為開發(fā)工具的重要原因。

包括發(fā)送與接收兩部分。在本系統(tǒng)中,下位機負責發(fā)送數(shù)據,上位機負責接收數(shù)據,而另一種情況:下位機接收、上位機發(fā)送,其處理方法與前面一種相似。因此,這里僅介紹下位機發(fā)送數(shù)據、上位機負責接收數(shù)據的

下位機發(fā)送程序由于不考慮機,實現(xiàn)較為簡單,其示例代碼如下:

j.jpg

c.JPG

上位機軟件中,當接收到數(shù)據時,控件會觸發(fā)一個事件,在事件處理代碼中應及時將收到的數(shù)據存入接收沖區(qū),同時不應該把串口協(xié)議接收部分的代碼放置在此事件中,否則后面到來的數(shù)據可能因為前面先到的數(shù)據沒有及時處理完畢而被沖掉,導致數(shù)據丟失。因此,在上位機軟件運行時,應該啟動一個Windows線程,用于不斷檢測接收緩沖區(qū)是否為空,不為空時則對緩沖中的數(shù)據進行處理,創(chuàng)建一個名為TBufferThread的線程類:

e.JPG

f.JPG

數(shù)字通信相關文章:數(shù)字通信原理


通信相關文章:通信原理




評論


相關推薦

技術專區(qū)

關閉