原创 zigbee之OSAL操作系統

概述 OSAL(Operating System AbstractionLayer),即操作系統抽象層。 OSAL是一種基於事件驅動的輪詢式操作系統,所提供的管理功能有: (1)任務登記、任務初始化、任務觸發 (2)任務間消息

原创 網絡分層結構

網絡模型分四層和七層模型。 七層模型 應用層:指的是具體的應用程序 表示層:將計算機能識別的數據轉換成人能識別的數據 會話層:識別網絡的中通信鏈路,確保網絡鏈接正常 傳輸層:負責端口的數據封裝與解封裝,識別的端口,進程和進程間

原创 設備樹基本概述

1.設備樹 設備樹(Device Tree)是一種描述硬件的數據結構。 作用:提供設備信息。 時間:在操作系統引導階段進行設備初始化的時候,數據結構中的硬件信息被檢測並傳遞給操作系統。 設備樹源文件(xxxx.dts)

原创 TCP、UDP有關函數

首先看一下上一篇三次握手四次揮手文章中提到的原理圖。 其中的read對應的就是recv函數,write對應的就是send函數。 步入正題,函數的使用: 1.TCP客戶端 socket : 創建套接字 函數原型:int s

原创 c指針和c++引用

指針和引用的區別 指針是一個實體,而引用僅是個別名; 引用使用時沒有 * ,指針使用時需要取地址中的內容 * ; 引用只能在定義時被初始化一次,之後不可變 、指針就是指向一塊地址空間,初始化後可以改變指向;(即引用的底層實現是

原创 TCP之C/S模型之三次握手四次揮手

0.瞭解兩種開發模型 C/S模型 client/server<------->客戶端/服務器:QQ、微信 重心在客戶端和服務器上,用戶羣固定,安全係數高。 有連接的過程:建立連接---->使用連接----->釋放連接 (類似於

原创 ubuntu軟件源之source.list文件內容

1.備份source.list文件 sudo cp /etc/apt/sources.list /etc/apt/sources1.list 2.修改source.list文件 #網易的源 deb http://mirrors.

原创 網絡通信模型

網絡模型分四層和七層模型。 七層模型 應用層:指的是具體的應用程序 表示層:將計算機能識別的數據轉換成人能識別的數據 會話層:識別網絡的中通信鏈路,確保網絡鏈接正常 傳輸層:負責端口的數據封裝與解封裝,識別的端口,進程和進程間

原创 bool類型之C語言不支持之解決方法

bool類型可以通過枚舉自定義,枚舉變量默認從0開始自加。 typedef enum {flase,true} bool; //假爲0,真爲1,所以這樣設置比較人性化 eg: typedef enum {flase,true}

原创 SQLite數據庫之SQL語句提高

接着上一篇SQL數據庫。 1.函數和聚合 SQL語句支持利用函數來處理數據,函數一般是在數據上執行的,它給數據的轉換和處理提供了方便。 常用的文本處理函數: length() 返回字符串的長度 lower() 將字符串

原创 網絡通信之大小端、字節序轉換函數

在上篇文章中我們提到了UDP,TCP有關函數,並知道了一個重要的結構體struct sockaddr。想要實現通信首先要知道通信端的地址,所以首先了解一下IPv4套接字地址結構體。 //IPv4 套接字地址結構體,用來存放地址信息

原创 Makefile腳本文件

0.緣由 多文件編程 主文件(main函數所在的文件)往往只包含一些函數的調用。結構體的定義,函數的實現通常在不同的文件中,這時就需要主文件包含一些頭文件,標準c庫的頭文件不用多說,如果是自己定義了頭文件,函數的實現過程放到對