原创 Linux下Wi-Fi的實現:wireless_tools和wpa_supplicant

    平臺爲hi35XX,在Liunx下藉助wireless_tools和wpa_supplicant(因爲現在的無線wifi網絡大多是wpa加密。所以需要移植wpa_supplicant工具)等工具實現wifi的過程。 一、移植w

原创 Base64編碼的原理及實現(源碼)

    Base64編碼在郵件中最爲常見,呵呵,因爲我最近就是在做郵箱報警,SMTP驗證就是Base64編碼用戶名和密碼進行驗證的,並且附件也是要轉換成base64編碼的數據,然後再發送的。該編碼使用64個明文來編碼任意的二進制文件,它裏

原创 Linux下的時間函數:設置及獲取時間

一、時間函數        time_t time(time_t *t);        char *asctime(const struct tm *tm);        char *asctime_r(const struct

原创 精簡Makefile

    如果在Linux下玩不轉Makefile,那你真out了,這應該是Makefile較爲精華的部分,難得共享。   一、一個簡單通用的Makefile例子 1.編寫源文件 5個源文件:A.c   B.c   C.c   D.c  

原创 C語言指針並不難

    C語言的核心在於指針,這2個指針題目,如果你不用編譯就能得出正確的答案,那你一定是C的高手,不擇不扣的高手—指針並不難!    第一題:求p[-1]、p[-5]的值(此題重點在於負號,很簡單,考察對指針瞭解的廣度方面)#inclu

原创 Linux目錄掃描:打印指定目錄下的所有文件及目錄

一、目錄掃描函數及其相關結構 1.  struct dirent *readdir(DIR *dp);   2.  DIR *opendir(const char *name);  4.  int closedir(DIR *d

原创 select函數詳解

     select()的機制中提供一個fd_set的數據結構,實際上是一個long類型的數組,每一個數組元素都能與一打開的文件句柄(不管是Socket句柄,還是其他文件或命名管道或設備句柄)建立聯繫,建立聯繫的工作由程序員完成,當調

原创 Linux線程管理必備:互斥量與條件變量

    做過稍微大一點項目的人都知道,力求程序的穩定性和調度的方便,使用了大量的線程,幾乎每個模塊都有一個專門的線程處理函數。而互斥量與條件變量在線程管理中必不可少,任務間的調度幾乎都是由互斥量與條件變量控制。互斥量的實現與進程中的信號量

原创 通用i2c驅動

    瞭解I2C的同志都知道,常規I2C驅動中的最重點就是這4個結構體:i2c_driver、i2c_client、i2c_adapter 和i2c_algorithm,而且他們之間的關係錯綜複雜,我看了好長一段時間,也沒看出多少頭緒來

原创 字節序問題:大小端的判定

    大小端的判斷很簡單,可判斷了有什麼用呢?這是一個難纏的問題,我最近就碰到了這樣一個問題,比如,int a = 0x12345678,char* p = &a,那麼p[0]等於多少呢?答案要麼是0x12,要麼是0x78,對吧,如果

原创 Linux下\r\n問題

    常在Linux下操作,難免要遇到\r\n問題,特別在很多地方比如最近的郵件發送,怎麼都\r\n了,以前只有\n的時代好像已經過去了,因爲我是一個比較喜歡總結的人,一個喜歡理論先行的人,所以,認真的測試並且理解了一番,儘管我個人認爲

原创 程序員詩2首:悲催詩(史)與愛情詩

    這幾周《非誠勿擾》來了不少IT男,而且來自硅谷,這觸發了大家對程序員的好奇心,其中主持人孟非讀的一首詩堪稱經典,我載下來,大家來吐吐槽!        舉頭望明月,低頭寫程序。       但願人長久,天天寫程序。       垂

原创 swap(a,b)值交換的4種方法

    這篇文章所要表述的內容的確很簡單,寫之前,我糾結了很久:寫與不寫。平常swap(a,b)值交換,我們基本都是使用第一種方法,對於數學較好的人,可能會想到第二種方法,想到時,一定感覺很好,。對於彙編或對位有理解的人,可能會想到第三

原创 DHCP:開發板上動態獲取ip的2種方法

DHCP 動態主機設置協議(Dynamic Host Configuration Protocol, DHCP)是一個局域網的網絡協議,使用UDP協議工作,主要有兩個用途:     1.給內部網絡或網絡服務供應商自動分配IP地址    

原创 RTP通話:視頻流(H.264)的傳輸

     從攝像頭獲取的視頻數據,經過編碼後(當然,也可以不編碼,如果你覺得也很ok的話),既可以視頻錄製,同時如果需要,當然也可以視頻遠程傳輸咯,而實時傳輸協議(Real-time Transport Protocol,RTP)是在I