基于事件驅(qū)動(dòng)的串口通訊控件
消息幀數(shù)據(jù)格式:
1 0 A B X X
其中 10 為消息標(biāo)識(shí),
AB表示文本長(zhǎng)度,L=A*100+B
XX為配位字符,任意
控制幀數(shù)據(jù)格式
0 1 A B M N
其中 01為控制標(biāo)識(shí),
AB為請(qǐng)求標(biāo)識(shí)
MN為附加標(biāo)識(shí)
11表示請(qǐng)求對(duì)方接收文件,M表示描述字串中文件名子串的長(zhǎng)度
N表示描述字串中文件大小子串的長(zhǎng)度
10通知對(duì)方放棄傳輸
00通知文件傳輸完畢
01請(qǐng)求對(duì)方發(fā)送數(shù)據(jù), MN為10請(qǐng)求發(fā)送下一個(gè)
MN為00請(qǐng)求重發(fā)
數(shù)據(jù)幀數(shù)據(jù)格式
0 0 A B M N
其中 00 為數(shù)據(jù)標(biāo)識(shí),
AB表示數(shù)據(jù)長(zhǎng)度,L=A*100+B
MN為校驗(yàn),M*100+N=A+B
結(jié)合單片機(jī)和M a t l a b 兩者的優(yōu)點(diǎn),基于事件驅(qū)動(dòng)的中斷通信機(jī)制,提出一種Matlab 環(huán)境下PC 機(jī)與
單片機(jī)實(shí)時(shí)串行通信及數(shù)據(jù)處理的方法;完成單片機(jī)數(shù)據(jù)采集系統(tǒng)與PC 機(jī)的RS-232/RS-485 串行通
信及其通信數(shù)據(jù)的分析處理、文件存儲(chǔ)、F I R 濾波及圖形顯示;簡(jiǎn)化系統(tǒng)開(kāi)發(fā)流程,提高開(kāi)發(fā)效率。
該方法已成功應(yīng)用于一個(gè)P I C 1 6 F 8 7 6 單片機(jī)應(yīng)用系統(tǒng)實(shí)例之中
本書(shū)提供用J B u i l d e r開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序、創(chuàng)建分布式應(yīng)用程序以及編寫(xiě)J a v a B e a n
組件的高級(jí)資料。它包括下列幾個(gè)部分:
• 第一部分是“開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序”,它提供關(guān)于使用J b u i l d e r的D a t a E x p r e s s數(shù)據(jù)
庫(kù)體系結(jié)構(gòu)的信息,并解釋原始數(shù)據(jù)組件和類(lèi)之間的相互關(guān)系,以及怎樣使用它
們來(lái)創(chuàng)建你的數(shù)據(jù)庫(kù)應(yīng)用程序。它還解釋怎樣使用Data Modeler(數(shù)據(jù)模型器)和
Application Generator(應(yīng)用程序生成器)創(chuàng)建數(shù)據(jù)驅(qū)動(dòng)的客戶機(jī)/服務(wù)器應(yīng)用程
序。
• 第二部分是“開(kāi)發(fā)分布式應(yīng)用程序”,它提供關(guān)于使用ORB Explorer、用J B u i l d e r
創(chuàng)建多級(jí)的分布應(yīng)用程序、調(diào)試分布式應(yīng)用程序、用J a v a定義C O R B A接口以及
使用s e r v l e t等的信息。
• 第三部分是“創(chuàng)建J a v a B e a n”,它解釋怎樣開(kāi)發(fā)新的J a v a B e a n組件,描述在組件
開(kāi)發(fā)中涉及的任務(wù), 怎樣使用B e a n s E x p r e s s創(chuàng)建新的J a v a B e a n,以及關(guān)于屬性、
事件、B e a nIn f o類(lèi)和其他方面的詳細(xì)情況。
Floyd-Warshall算法描述
1)適用范圍:
a)APSP(All Pairs Shortest Paths)
b)稠密圖效果最佳
c)邊權(quán)可正可負(fù)
2)算法描述:
a)初始化:dis[u,v]=w[u,v]
b)For k:=1 to n
For i:=1 to n
For j:=1 to n
If dis[i,j]>dis[i,k]+dis[k,j] Then
Dis[I,j]:=dis[I,k]+dis[k,j]
c)算法結(jié)束:dis即為所有點(diǎn)對(duì)的最短路徑矩陣
3)算法小結(jié):此算法簡(jiǎn)單有效,由于三重循環(huán)結(jié)構(gòu)緊湊,對(duì)于稠密圖,效率要高于執(zhí)行|V|次Dijkstra算法。時(shí)間復(fù)雜度O(n^3)。
考慮下列變形:如(I,j)∈E則dis[I,j]初始為1,else初始為0,這樣的Floyd算法最后的最短路徑矩陣即成為一個(gè)判斷I,j是否有通路的矩陣。更簡(jiǎn)單的,我們可以把dis設(shè)成boolean類(lèi)型,則每次可以用“dis[I,j]:=dis[I,j]or(dis[I,k]and dis[k,j])”來(lái)代替算法描述中的藍(lán)色部分,可以更直觀地得到I,j的連通情況。