原创 條件運算符?:

         expression1 ? expression2 : expression3        如果expression1爲真(非零),整個條件表達式的值和expression2的值相同。如果expression1爲假(零

原创 QT下觸摸屏和鍵盤接口移植

一、觸摸屏移植      1、安裝及編譯tslib 1.4           將tslib 1.4.tar.ba2複製到/home 目錄下解壓縮      # cd /home/tslib      # ./autogen.sh    

原创 ubuntu 10.04 usb轉串口

ubuntu 10.04下usb轉串口設置   在安裝好minicom後 1.插入usb轉串口線,佔到對應的串口 yelei@ubuntu:/media$ ls -l /dev/ttyUSB* crw-rw---- 1 root dial

原创 字符串輸出函數 puts( ) fputs( ) printf( )

C語言有三個勇於輸出字符串的標準庫函數 puts( ) fputs( ) printf( ) puts( )函數的使用很簡單,只需要給出字符串參數的地址。注意,每一個字符串都單行顯示,與printf()不同,puts()顯示字符串時自動在

原创 getenv(取得環境變量內容)

表頭文件 #include<stdlib.h>定義函數 char * getenv(const char *name);函數說明 getenv()用來取得參數name環境變量的內容。參數name爲環境變量的名稱,如果該變量存在則會返回指向

原创 Linux串口編程

串口概述常見數據通信方式:並行通信,串行通信UART的主要操作:   >數據發送及接受   >產生中斷   >產生波特率   >Loopback模式   >紅外模式   >自動流控模式串口參數的配置主要包括:波特率、數據位、停止位、流控

原创 第十一章 進程和信號(一)

        我們可以通過調用fork來創建一個新進程。這個系統調用會複製當前進程,在進程表中創建一個實體,而且與當前進程具有相同的屬性。新進程與原始進程幾乎是相同的,執行相同的代碼,但是具有其自己的數據空間,環境與文件描述符。 #in

原创 基於TCP協議的網絡程序

  服務器調用socket()、bind()、listen()完成初始化後,調用accept()阻塞等待,處於監聽端口的狀態,客戶端調用socket()初始化後,調用connect()發出SYN段並阻塞等待服務器應答,服務器應答一個SYN

原创 第十一章 進程和信號(三)

一個健壯的信號接口         我們已經對用 signal 和其相關函數來生成和捕獲信號做了比較深入的介紹,因爲它們在傳統的 Unix 編程中很常見。但 X/Open 與 Unix 規範推薦了一個更新和更健壯的信號編程接口:siga

原创 第十一章 進程和信號(二)

信號       信號是UNIX與Linux系統響應某些條件而產生的一個事件。接收到該信號的進程會相應地採取一些行動。我們用術語(raise)表示一個信號的產生,使用術語(catch)來表示接收到一個信號。信號是由於某些錯誤條件而生成的,

原创 Linux內核Makefile文件

=== 1 概述      === 2 角色分工      === 3 內核編譯文件         --- 3.1 目標定義         --- 3.2 內嵌對象 - obj-y         --- 3.3 可加載模塊 - o

原创 第十二章 POSIX 線程(三)

用互斥量進行同步        另一種用在多線程程序中的同步訪問方法是使用互斥量。它允許程序員鎖住某個對象,使得每次只有一個線程訪問它。爲了控制對關鍵代碼的訪問,必須在進入這段代碼之前鎖住一個互斥量,然後在完成操作之後解鎖它。 #in

原创 第十二章 POSIX 線程(一)

        在一個程序中的多個執行線路就叫做線程(thread)。更準確的定義是:線程是一個進程內部的一個控制序列。         線程有一套完整的與其相關的函數庫調用,它們中的絕大多數函數名都是以 pthread_ 開頭,爲了使用

原创 第十二章 POSIX 線程(二)

信號量       信號量是一個特殊類型的變量,它可以被增加或減少,但對其的關鍵訪問被保證是原子操作,即使在一個多線程程序中也是如此。這意味着若果一個程序中有兩個(或更多)的線程試圖改變一個信號量的值,系統將保證所有的操作都將依次進行。但

原创 c語言中 static 用法

static在c裏面可以用來修飾變量,也可以用來修飾函數。 一、修飾變量 變量在c裏面可分爲存在全局數據區、棧和堆裏。其實我們平時所說的堆棧是棧而不是堆,不要弄混。 int a ;int main(){    int b ;     i