原创 led驅動-2

    文章的分析基於linux2.6.22。     文章led驅動-1分析了s3c24xx的led驅動和設備的match過程,然後後調用s3c24xx_led_probe函數,本文分析下這個過程,目的是瞭解led驅動到底怎麼與應用結合

原创 leds_class創建過程

 本文記錄leds_class的創建過程:   1. static int __init leds_init(void) { leds_class = class_create(THIS_MODULE, "leds");

原创 led驅動-1

文章的分析基於linux2.6.22,本文僅分析了註冊過程 PART A  先分析驅動側文件:\drive\leds\Leds-s3c24xx.c 1. static int __init s3c24xx_led_init(void)

原创 51單片機 主循環和中斷共享全局變量的問題

   去年寫的文章自己也看不懂了,很粗糙,今天重新整理下。    現象:工作中遇到一個大坑,STC11F32設置的運行燈閃爍週期爲500ms,大多數是500ms低電平和500ms高電平,但偶爾運行燈會有很快熄滅或很快點亮的情況,肉眼觀察到

原创 字符編碼

這幾天從設備中導出一個文件,默認的編碼格式是ANSI,但要求是UTF-8編碼格式。因爲對編碼的概念不清楚,查了好多資料後總結如下。其中對引文進行註釋,如有侵犯作者權利,請告知,我會盡快處理。 BOM [1] 文本的編碼

原创 platform_device設備

    文章的分析基於linux-2.6.22,led驅動分析了s3c24xx的led設備的註冊、驅動的註冊,以及其設備和驅動的關聯過程;platform_bus_init過程分析了platform_bus設備的註冊。  platform

原创 platform_bus_init過程

    文章的分析基於linux-2.6.22     今天記錄下 platform_bus_init過程中,platform_bus_type總線和platform_bus設備的註冊,以及構建的目錄結構。 1. /** * driv

原创 led驅動

文章的分析基於linux2.6.22,本文僅分析了註冊過程 PART A  先分析驅動側文件:\drive\leds\Leds-s3c24xx.c 1. static int __init s3c24xx_led_init(void)

原创 大小端和位域

每次遇到大小端都要梳理一遍,做個記錄方便以後查閱。 對於大小端,位域的存儲都是從低地址開始,下例中從a到c依次爲bit0---->bit15。 #include <stdio.h> #include <stdlib.h> #incl

原创 51單片機 主循環和中斷共享全局變量的衝突

現象:工作中遇到一個大坑,STC11F32的運行燈閃的不均勻,大多數是500ms低電平和500ms高電平,但偶爾會有40ms左右的高、低電平出現,對,就這麼簡單的一個程序,奇哉怪哉!//定義全局變量:ms計數器unsigned int c

原创 word:分節符-分頁符

1. "分節符":用於文檔章、節設置不同的顯示格式,如頁眉、頁腳、表格頁邊距等。 2. "分頁符":將文檔的內容分開顯示到不同頁。文檔一頁結束時,word會自動插入分頁符,也可人爲插入。 3. "鏈接到前一頁眉":斷開與前一節的聯繫,本節

原创 無符號減法:int和short差異

無符號減法:int和short存在天壤之別,無符號整形的減法結果爲負值時自動轉換爲無符號類型,而無符號短整形減法結果爲負值時轉換爲有符號類型。以下爲代碼比較:#include <stdio.h> int main(void) { u

原创 時間函數:time

time_t time(time_t * timer):獲取1970-1-1 00:00:00的秒數 struct tm localtime(time_t * _Time):將UTC的秒數轉化爲年(since1900)、月([0-11]