freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

溫度監(jiān)控系統(tǒng)畢業(yè)設(shè)計(jì)-畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-02-24 03:43 本頁面
 

【文章內(nèi)容簡介】 校驗(yàn) 和 幀尾 標(biāo) 志 幀頭 標(biāo) 志 (1 Bit): 表 示 此數(shù)據(jù) 包屬 于本串 口 通信協(xié)議 ,并 為是 否 接收此 包 數(shù)據(jù)的標(biāo) 志。 幀 類 型 (1 Bit): 所用信號 幀 的 識 別標(biāo) 志 ,即 信號 幀 分類中的各類 型 信號的標(biāo) 志字節(jié)。 器件地 址 (1Byte): PC所 要訪 問的 外部 器件的地 址 即是 哪 一 個(gè)外部 器件。 起 始 地 址 (2Byte): PC所 要訪 問的器件的 存貯 器起 始 地 址。 長度 (1Byte): 一 次命令 所轉(zhuǎn)輸?shù)臄?shù)據(jù) 長度。 校驗(yàn) 和 (1Byte): 此 幀 信號的 校驗(yàn)字 節(jié) ,為異 或校驗(yàn)。 幀尾 標(biāo) 志 (1Byte): 此 幀 信號的 結(jié)束 標(biāo) 志。 (2) 寫 命令幀 幀頭 標(biāo) 志 幀 類 型 器件地 址 起 始 地 址 長度 數(shù)據(jù) 區(qū) 校驗(yàn) 和 幀尾 標(biāo) 志 數(shù)據(jù) 區(qū) :所 要 寫的數(shù)據(jù)信 息。 其它分 析 同上。 (3) 數(shù)據(jù) 幀 幀頭 標(biāo) 志 幀 類 型 長度 數(shù)據(jù) 區(qū) 校驗(yàn)字 幀尾 標(biāo) 志 長度 :所轉(zhuǎn)輸數(shù)據(jù)的 長度。 數(shù)據(jù) 區(qū) :所轉(zhuǎn)輸?shù)臄?shù)據(jù)信 息。 其它分 析 同上。 (4) 正 響 應(yīng) 幀 幀頭 標(biāo) 志 幀 類 型 空 校驗(yàn)字 幀尾 標(biāo) 志 空無 意 義 :為了 PIC16F877A編 程的方 便 而 加入。 其它分 析 同上。 (5) 重 發(fā) 幀 幀頭 標(biāo) 志 幀 類 型 空 校驗(yàn)字 幀尾 標(biāo) 志 其它分 析 同上。 (6) 放棄幀 幀頭 標(biāo) 志 幀 類 型 錯(cuò)誤碼 校驗(yàn)字 幀尾 標(biāo) 志 錯(cuò)誤碼 : 00H 執(zhí) 行 PC命令 發(fā) 放棄幀回 應(yīng) 被動退 出通 訊。 01H PIC16F877A 單片機(jī) 方寫 入芯 片發(fā) 生錯(cuò)誤主動 通 知 PC退 出通 訊。 通信協(xié)議 處 理 流 程 (1) 數(shù)據(jù)分 幀 與數(shù)據(jù) 重組 圖 圖 將應(yīng)用程 序 發(fā)送過來的數(shù)據(jù)作為一 個(gè)數(shù)據(jù)流放 在發(fā)送 緩沖區(qū) 中,通過通信協(xié)議進(jìn)行 串口接受到一幀數(shù)據(jù) 此 幀是 否正確 連續(xù) 3 次不正確 退出通信并報(bào)告 讀命令信號 退出等待下一幀 重發(fā)命令幀 寫命令信號 分析此命令 開始執(zhí)行 分析此命令取 出數(shù)據(jù)信息 發(fā)數(shù)據(jù)幀 發(fā)正回應(yīng)數(shù)據(jù)幀 退出通信并報(bào)告 退出等待下幀命令 N Y Y N Y Y N N 分 幀──切割── 發(fā)送。在接收 端, 分 幀 的數(shù)據(jù) 去掉幀頭重新組合 到接收 緩沖區(qū) 中,交給應(yīng)用程 序處 理,發(fā)送過程的 示 意 如圖 , 接收過程的 示 意 圖 如 圖 。 單片機(jī)串口通信軟件設(shè)計(jì)流程圖 圖 應(yīng)用程序通知通信開始 讀還是寫 發(fā)送讀命令 發(fā)送寫命令 串口收到命令 此幀是否正確? 連續(xù)三次否 退出通信 是 幀 數(shù) 據(jù)嗎? 重發(fā)命令幀 等待下幀信號 處理數(shù)據(jù) 是正回應(yīng)幀嗎 命令執(zhí)行完畢 是重發(fā)幀嗎 退出通信并報(bào)告 重發(fā)命令幀 等待下幀信號 讀 寫 N PC 接收數(shù)據(jù)軟件設(shè)計(jì)流程 N N Y Y Y Y Y Y N 圖 PC串口通信軟件設(shè)計(jì)流程圖 PC 上位機(jī)的軟件設(shè)計(jì) PC軟件設(shè)計(jì)方 法 的 選擇 在開發(fā) PC上 位機(jī)的通信程 序 中 ,人 們 常 用的 編 程 語 言可分為 3類 :(1) 直接面 向底層硬件的 匯編語 言。 (2) DOS環(huán)境下的 高級編 程 語 言 ,如 : C語 言 等。 (3) Windows環(huán)境下的高級編 程 語 言,如: VC++等。 而在這 3種 方式中 Windows環(huán)境下的串 口編 程以其設(shè) 備無關(guān)性, 可 移植性 以及 界 面友好 等 特 征 而得到廣泛應(yīng)用。同時(shí)在 Windows操 作系 統(tǒng)已經(jīng)占 據(jù)統(tǒng)治 地位的 情況 下, 欲 開發(fā) 良 好的通信程 序,利 用 Windows環(huán)境下的 高級語 言 已漸 成為必然 的 選擇。 開發(fā) Windows環(huán)境下的串 口 通信程 序主要 有以下 2種 方 法: (1) 利 用 Windows API( Application Program Interface) 用 戶 程 序 接 口 函數(shù); (2) 利 用 ActiveX控件; 后 者的 主要 特點(diǎn)是簡單 易學(xué), 但前者的功能更為 強(qiáng) 大控制手 段 更為 靈活。 PC軟件通信方式的 選擇 在 Win32環(huán)境下串行通信有兩 種:主要 方式即同步方式,異步方式兩 種 方式有各 自的特點(diǎn)。在軟件設(shè)計(jì)時(shí)應(yīng) 根 據(jù)實(shí)際 情況選擇合適 的方式。 ( 1) 同步方式 在同步方式中 ,讀串 口 的函數(shù) 試圖 在串 口 的接收 緩沖區(qū) 中讀 取規(guī) 定數(shù)目的數(shù)據(jù) ,直到 規(guī) 定數(shù)目的數(shù)據(jù)全 部被 讀出 或 設(shè)定的超時(shí)時(shí)間 已 到時(shí) 才返回。例 如: (以 C++ Builder編 程 語 言為 例 下同) ???????? ???????? COMMTIMEOUTS cto。 int timeConstant, timeMutiplier。 = timeConstant。 //設(shè) 置總 超時(shí) 常 數(shù) = timeMutiplier。 //設(shè) 置總 超時(shí)系數(shù) SetCommTimeouts(m_hFile,amp。cto)。 //超時(shí)設(shè) 置 ?????????? ?? ???????? ReadFile (hComport,inBuffer,nWantRead,amp。nRealRead,NULL)。//讀串 口 ?????????? ?????????? COMMTIMEOUTS結(jié)構(gòu) 用于設(shè) 置 超時(shí) ,指 定讀寫函數(shù)的 等待 時(shí)間 在 ReadFile 函數(shù)中 hComport 為 待 讀串 口句柄 。inBuffer 為輸 入緩沖區(qū) 大小 。nWantRead 為 每次 調(diào)用 ReadFile 時(shí) ,函數(shù) 試圖 讀出的 字 節(jié)數(shù) 。nRealRead 為實(shí)際讀 出的 字 節(jié)數(shù) 。最后 一 個(gè)參 數(shù) 值 NULL 代 表 ReadFile將采用同 步文件讀寫方式。 ( 2) 異步方式 異步方式中 ,利 用 Win32 的 多 線程 結(jié)構(gòu) ,可以 讓 串 口 的讀寫 操 作在 后臺 進(jìn)行 ,而應(yīng)用程 序 的其它 部 分在前 臺執(zhí) 行 例 如 : ???????? ???????? ???????? CreateFile(lpszPort, //打 開串 口 GENERIC_READ|GENERIC_WRITE, 0, 0, ???????? ???????? OPEN_EXISTING, FILE_FLAG_OVERLAPPED, //允許 異步 操 作 0)。 OVERLAPPED lpOverlapped。 COMMTIMEOUTS cto。 int timeConstant, timeMutiplier。 = timeConstant。 //設(shè) 置總 超時(shí) 常 數(shù) = timeMutiplier。 //設(shè) 置總 超時(shí)系數(shù) SetCommTimeouts(m_hFile,amp。cto)。 //超時(shí)設(shè) 置 =CreateEvent (,FALSE,NULL)。 ???????? ???????? ???????? ReadFile (hComport,inBuffer,nWantRead,amp。nRealRead,amp。lp Overlapped)。 //讀串 口 ???????? lpOverlapped 是 1個(gè) OVERLAPPED 結(jié)構(gòu)變 量 ,OVERLAPPED 結(jié)構(gòu) 用于 指 出讀寫 操 作與其它操 作的 重疊 為了實(shí)現(xiàn)線程間同步與通信 ,上面的 代碼 中用 CreateEvent 函數(shù) 產(chǎn)生 1 個(gè)人工復(fù) 位 事 件 ,并 將其 句柄賦予 lpOverlapped的 hEvent成 員 這樣 ,在異步讀寫完成時(shí) ,Windows95發(fā)送 該事 件信號。 ( 3) 兩 種 方式的 比 較 異步方式 利 用 多 線程 結(jié)構(gòu) 來 監(jiān)視 通信設(shè) 備, 其 最 大 優(yōu) 點(diǎn)是程 序 對接收數(shù)據(jù)具有 自主覺察 能 力。 一 旦 通信線程 查詢 到數(shù)據(jù) 已 發(fā)送到串 口 上,線程 自動向 應(yīng)用程 序 發(fā)送一 個(gè) 數(shù) 據(jù)接收到的 消息, 應(yīng)用程 序 可用 該消息 來讀 取 通信設(shè) 備 傳來的數(shù)據(jù)。 并且使 用通信線程還 不 占 用 CPU時(shí)間,這樣系 統(tǒng) 實(shí)際上具有了同時(shí)控制 多個(gè) 通信設(shè) 備( 如 MODEM) 的能 力。因此在對系 統(tǒng)強(qiáng)壯性要求 較 高 的 場合 下應(yīng)采用異步方式。 異步方式的 優(yōu) 點(diǎn) 也恰 是同步方式的 缺 點(diǎn)。 使 用同步方式時(shí) 容易 發(fā) 生 線程 阻塞,從 而使 系 統(tǒng)性 能下 降。 但在 某 些 場合 下, 該缺 點(diǎn)可以通過一些 措施盡 可能地 減 小,而其簡單易 用的 優(yōu) 點(diǎn) 卻 是很好地 體 現(xiàn)出來。如果不 考慮 Win95的進(jìn)程和線程的問題, 僅 在串 口 有數(shù)據(jù)時(shí), 去 讀串 口緩沖區(qū) 就可以了。此時(shí) 確 定串 口 讀 取 的時(shí)機(jī),握手協(xié)議及軟件 糾 錯(cuò) 的實(shí)現(xiàn)是程 序員 應(yīng) 考慮 的 主要 問題, 也 是 減 小線程 阻塞 所 帶 來的 負(fù) 面 影 響 的 主要 措施。 可以采用同步轉(zhuǎn)輸方式的 場合 有如下一些特點(diǎn): ① 何 時(shí)轉(zhuǎn)輸數(shù)據(jù)由 PC機(jī)來決定,下位機(jī) 只 是 被動 接收 并執(zhí) 行 命令。 ② 有限時(shí)間 內(nèi), PC機(jī) 命令 可以 執(zhí) 行完 畢并返回結(jié)果。 而不會 使 PC機(jī) 處 于 長 時(shí)間 等待。 ③ 每次 所轉(zhuǎn)輸?shù)臄?shù)據(jù)的 長度 是 已知 的, 所轉(zhuǎn)輸?shù)臄?shù)據(jù)量是有限 且比 較小。 我們在開發(fā)串行通信程 序 時(shí),分別應(yīng)用這兩 種 方式開發(fā) 都獲 得了成功。 鑒 于應(yīng)用異步方式的 安 全 性 和 普遍 性 下面以 C++ Builder為 例,敘 述 PC機(jī)通信軟件的實(shí)現(xiàn)過程: (1)打 開串 口 在 Win32中,串 口 和其 他 通信設(shè) 備 是作為文件 處 理的。串 口 的 打 開 并 閉 讀 取 以及寫入 所用的函數(shù)與 操 作文件的函數(shù)相同。 通信會話由調(diào)用 CreateFile 函數(shù) 打 開串 口 開 始, CreateFile 以讀 訪 問 權(quán) 限,寫 訪 問 權(quán)限 或 讀寫 訪 問 權(quán) 限“ 打 開串 口”并 設(shè)定了對其是異步 操 作方式。 還 是同步 操 作方式調(diào)用該 函數(shù) 打 開串
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1