橙色框出部分為控制台輸入, 模擬心跳包反饋的目前活動的儀器. 可見若兩台機器中的331工作中收到331心跳包反饋, 則繼續工作, 收到其他心跳包反饋則停止工作, 切換到335工作. 335同理.
設計類圖:
設計思路: odu335繼承已有儀器odu的方法與字段( 變數 ), 極大簡化公升級更新所需編碼量. override強調重寫父類方法獲取名字(string name() )及獲取心跳包反饋( bool heartbeat() ).
父類:odu.h
#pragma once
#include
using namespace std;
/*實現:發射頻率(txfreq-frequence),
接收頻率(rxfreq),
發射功率(txpower-transmit power),
的讀取與設定;
接收電平(rxl-receive level)
的讀取;
心跳包(heartbeat)
正在工作型別與工作狀態的獲取;
獲取裝置名稱(name)與裝置型別(type)
初始化:
txfre = 34400;
rxfre = 31100;
txpower = 20;
rxl = 0;
type = odu_type::odu_type_331;
*/enum class odu_type
;#define odu_type_331_flag "331"
#define odu_type_335_flag "335"
class odu
;
odu.cpp
#include
"odu.h"
odu:
:odu
(odu_type odutype)
int odu:
:gettxfreq()
void odu:
:settxfreq
(int txfreq)
//只有繼承的才可以加冒號寫rxfreq(rxfreq)
int odu:
:getrxfreq()
void odu:
:setrxfreq
(int rxfreq)
int odu:
:gettxpower()
void odu:
:settxpower
(int txpower)
int odu:
:getrxlevel()
bool odu:
:heartbeat()
//else if (odu_type_335_flag == response)//這個在odu335中改寫即可
//return false;
}string odu:
:name()
子類:
odu335.h
#pragma once
#include
"odu.h"
class odu335 : public odu
;
odu335.cpp
#include
"odu335.h"
odu335:
:odu335
(odu_type odutype)
:odu
(odutype)
bool odu335:
:heartbeat()
return false;
}string odu335:
:name()
微波通訊技術
一 微波通訊的發展 微波的頻帶很寬,數量級在 109 1012hz 之間,比從長波到短波的頻帶 0 10hz 要拓寬一千赫,因而對訊號的容量很大。由於電台的數量龐大,無線電中的短波十分擁擠,相互間的干擾較為嚴重,解決這一困難的唯方法是向微波段發展。目前電視廣播的 vhf波段的頻率是 30 300mh...
雙機模擬通訊
基本知識 1 資料緩衝器 sbuf 接受或傳送的資料都要先送到 sbuf 快取。有兩個,乙個快取,另乙個接受,用同一直接位址 99h,傳送時用指令將資料送到 sbuf 即可啟動傳送 接收時用指令將 sbuf 中接收到的資料取出。2 序列控制暫存器 pcon scon 用於序列通訊方式的選擇,收發控制...
模擬通訊和數字通訊
無論何種通訊系統,目的都是要完成一點到另一點的資訊傳遞,這樣可以吧通訊系統概括為乙個統一的模型,如圖1.圖1信源 信源指發出資訊的資訊源,即資訊的發出者。變換器 變換器的功能是將信源發出的資訊變換成適合在通道上傳輸的訊號。通道 通道是訊號傳輸的媒介,可分為有線通道和無線通道 空氣 雜訊源 在實際通訊...