BACnet協議棧移植分析之二:rs485.mak
rs485.mak是VC平臺可以轉換dsp檔案的makefile。原始檔是rs485.c,目標檔案是rs485。
Makefile to build test case
CC = gcc
BASEDIR = .
# -g for debugging with gdb
DEFINES = -DBIG_ENDIAN=0 -DTEST_RS485 -DBACDL_TEST
INCLUDES = -I. -I../../ //這裡指定除了編譯器預設的標頭檔案和庫檔案的路徑之外需要額外引用的標頭檔案路徑以及庫的路徑“../../”表示BAcnet根目錄。前一個"-I."表示使用-I指定路徑目錄,缺少"-I"則編譯器報錯。
CFLAGS = -Wall $(INCLUDES) $(DEFINES) -g//產生警告資訊及除錯資訊,CCFLAGS變數存放的是編譯選項
SRCS = rs485.c
OBJS = ${SRCS:.c=.o} //變數OBJS的值就是將SRCS裡面所有.c檔案編譯出的.o目標檔案
TARGET = rs485
all: ${TARGET}
${TARGET}: ${OBJS}
${CC} -o [email protected] ${OBJS} //[email protected]代表生成的目標檔案
.c.o:
${CC} -c ${CFLAGS} $*.c -o
depend:
rm -f .depend //.depend檔,在.depend檔中記載
${CC} -MM ${CFLAGS} *.c >> .depend //-MM清楚地知道系統不會更改header檔案
clean:
rm -rf core ${TARGET} $(OBJS) *.bak *.1 *.ini
include: .depend
相關推薦
BACnet協議棧移植分析之二:rs485.mak
rs485.mak是VC平臺可以轉換dsp檔案的makefile。原始檔是rs485.c,目標檔案是rs485。 Makefile to build test case CC = gcc BASEDIR = . # -g for debugging with
Modbus協議棧開發筆記之二:Modbus訊息幀的生成
前面我們已經對Modbus的基本事務作了說明,也據此設計了我們將要實現的主從站的操作流程。這其中與Modbus直接相關的就是Modbus訊息幀的生成。Modbus訊息幀也是實現Modbus通訊協議的根本。 1、Modbus訊息幀分析 MODBUS協議在不同的物理鏈路上的訊息幀有一些差異,
網路協議棧深入分析(二)--sk_buff的操作函式
1、alloc_skb()函式 該函式的作用是在上層協議要傳送資料包的時候或網路裝置準備接收資料包的時候會呼叫alloc_skb()函式分配sk_buff結構體,需要釋放時呼叫kfree_skb()函式。 staticinlinestruc
java 內存分析之二
b- splay .com lose image pen none span ide package Demo; public class Point { private double x, y, z; public Point(double _x,
Zepto源代碼分析之二~三個API
isa bsp scrip shee 字符串 ng- add child fin 因為時間關系:本次僅僅對這三個API($.camelCase、$.contains、$.each)方法進行分析 第一個方法變量轉駝峰:$.camelCase(‘hello-world-
nova創建虛擬機流程源碼系列分析之二 wsgi模型
app 技術 har forever 服務端 服務器程序 inter nova 127.0.0.1 openstack nova啟動時首先通過命令行或者dashborad填寫創建信息,然後通過restful api的方式調用openstack服務去創建虛擬機。數據信息從客戶
linux音頻alsa-uda134x驅動分析之二(時鐘)
lin pen play 個數 inter and 文本 ted word Audio Clocking音頻時鐘==============This text describes the audio clocking terms in ASoC and digital au
第二章(連續時間系統的時域分析之二)
image 狀態 技術分享 得出 滿足 激勵 方程 alt 學習 零輸入響應和零狀態響應 這名字取得有點怪,其實零輸入響應即是狀態響應,而零狀態響應就是輸入響應。 零狀態響應:不考慮起始時刻系統儲能的作用(起始組狀態為0),由系統的外加激勵信號所產生的響應
lwip協議棧移植(1)
程序編寫 編程 進行 pop call 創建 nbsp err raw lwip移植分為兩類: 1,只移植內核核心,用戶應用程序編寫只能基於raw/callback api進行 2,移植內核核心和上層API函數模塊,用戶可以使用所有三種API編程,即 raw/c
keyguard分析之二:息屏與亮屏流程篇
息屏與亮屏時, Keyguard繪製的基本流程 手機的Power鍵在滅屏是會載入keyguard, 保證使用者在亮屏時,第一時間看到鎖屏介面,以保證使用者的良好體驗. 在亮屏過程中涉及到了兩條主要的執行緒: PowerManager Thread 和DisplayMa
以太坊的儲存層技術分析之二:以太坊和LevelDB的介面
LevelDB使用者介面非常簡單,主要就是Put(k,v),Get(k),Delete(k)。以太坊封裝了LevelDB介面,見如下類詳細程式碼: ---------------------------------------------------------------
Modbus協議棧開發筆記之三:Modbus TCP Server開發
在完成了前面的工作後,我們就可以實現有針對性的應用了,首先我們來實現Modbus TCP的伺服器端應用。當然我們不是做具體的應用,而是對Modbus TCP的伺服器端應用進行封裝以供有需要時呼叫。 這裡我們不涉及TCP的協議,這部分與Modbus沒有必然聯絡,我們只是在其應
Modbus協議棧開發筆記之四:Modbus TCP Client開發
這一次我們封裝Modbus TCP Client應用。同樣的我們也不是做具體的應用,而是實現TCP客戶端的基本功能。我們將TCP客戶端的功能封裝為函式,以便在開發具體應用時呼叫。 對於TCP客戶端我們主要實現的功能有兩個:其一是生成訪問TCP伺服器的命令,總共支援8中功能碼
網站使用者行為資料統計與分析之二:資料寫入mongodb
接著上一篇博文,我再補充一下: 在js中收集到使用者行為資料之後呢,我們要在後臺對資料進行處理,怎麼處理?在實際專案中我分兩條路走: 一、直接寫入mongodb,隨著電商網站規模越來越大,訪問量越來越高,這種非關係型資料庫可以有效地化解高併發的問題
Modbus協議棧開發筆記之六:Modbus RTU Master開發
這一節我們來封裝最後一種應用(Modbus RTU Master應用),RTU主站的開發與TCP客戶端的開發是一致的。同樣的我們也不是做具體的應用,而是實現RTU主站的基本功能。我們將RTU主站的功能封裝為函式,以便在開發具體應用時呼叫。 對於RTU主站我們主要實現的功能有兩個:其一是生成訪
Modbus協議棧開發筆記之五:Modbus RTU Slave開發
Modbus在序列鏈路上分為Slave和Master,這一節我們就來開發Slave。對於Modbus RTU從站來說,需要實現的功能其實與Modbus TCP的伺服器端是一樣的。其操作過程也是一樣的。首先接收到主站的訪問命令,對該命令報文進行解析,這裡我們也只是實現前面提到的8種功能碼。其次我們
Hadoop原始碼分析之二(RPC機制之Call處理)
下面介紹在整個處理機制中怎麼把具體的Request Call轉換並呼叫到整體的實現邏輯。 主要以NameNode Client PRC Server作為例子來說明,整個轉換通過Google Protocol Buffer RPC來實現。 fina
Linux 網路協議棧開發(一)—— 網路協議棧核心分析
1.1 傳送端 1.1.1 應用層 (1) Socket 應用層的各種網路應用程式基本上都是通過 Linux Socket 程式設計介面來和核心空間的網路協議棧通訊的。Linux Socket 是從 BSD Socket 發展而來的,它是 Linux 作業系統的重要組成部分之一,它是網路應用程式
Modbus協議棧開發筆記之八:Modbus ASCII Master開發
這一節我們來封裝Modbus ASCII Master應用,Modbus ASCII主站的開發與RTU主站的開發是一致的。同樣的我們也不是做具體的應用,而是實現ASCII主站的基本功能。我們將ASCII主站的功能封裝為函式,以便在開發具體應用時呼叫。 對於ASCII主站我們
spark mllib原始碼分析之二分類邏輯迴歸evaluation
在邏輯迴歸分類中,我們評價分類器好壞的主要指標有精準率(precision),召回率(recall),F-measure,AUC等,其中最常用的是AUC,它可以綜合評價分類器效能,其他的指標主要偏重一些方面。我們介紹下spark中實現的這些評價指標,便於使用sp