原创 linux系統下的原子操作

   原子操作是指在執行的過程中不會被別的代碼路徑所中斷的操作。 1.整型原子操作   1.1 設置源自變量的值       void atomic_set(atomic_t *v,int i);  //設置原子變量的的值爲i      

原创 LPC1114手冊學習---串口驅動

 串口和pc機通信用到的寄存器:     通信函數:       LCR意義:                    

原创 我的友情鏈接

51CTO博客開發

原创 LPC1114手冊學習----時鐘篇

 1. 時序    PDRUNCFG:掉電配置寄存器,給其bit5位寫0就是給系統振盪器上電。 SYSOSCCTRL:系統震盪控制寄存器,bit0表示振盪器是否被旁路,0不被旁路。bit1表示外部晶振的            頻率範圍 0

原创 ad轉換器的使用

1. ad control register: select the pin to be converted clkdev start mode etc. 2. ad golbal date register:the result of

原创 LPC1114手冊學習----按鍵驅動篇

1. IOCON->PIOx_x:引腳配置寄存器。 2. GPIOx->DIR:輸入輸出選擇引腳,0表示輸入,1表示輸出。 3. GPIOx->DATA:數據寄存器。   跑馬燈程序:      按鍵控制led燈:     中斷相關寄

原创 linux驅動開發筆記--2.3內核模塊相比於應用程序

 模塊的角色是擴展內核的功能;模塊化的代碼在內核空間運行,驅動的兩個任務:模塊中的一些函數作爲系統調用的一部分執行,一些負責中斷處理。 2.3.2 內核的併發  linux的內核代碼和驅動代碼必須是可重入的--他們必須能夠在多個上下文中運行

原创 linux設備驅動的阻塞和非阻塞io

  在linux驅動中,可以使用等待隊列來實現阻塞進程的喚醒。 1. 定義等待隊列頭   wait_queue_head_t mqh; 2. 初始化等待隊列   init_waitqueue_head(&mqh);   也可以將以上兩步合併

原创 M0下spi驅動

 /****************************************************************************  *   $Id:: ssp.c 3635 2010-06-02 00:31:46

原创 我的友情鏈接

51CTO博客開發