1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      嵌入式C語言編程的幾個知識點

      更新時間: 2011-11-16 10:08:24來源: 粵嵌教育瀏覽量:1898

         1 使用位操作的方法(在嵌入式系統設計中)

            一種極高可移植性的方法,使用#define 和 bit masks,如:

           #define   BIT2    (0x1 <<2)

           static  int   a;

           void Set_bit2(void)

           { a |= BIT2;}

       

           void Clear_bit2(void)

           { a &= ~BIT2;}

         2. 要求設置一地址為0x67a9的整型變量的值為0XAA66,典型代碼如下:

           int   *ptr;

          ptr = (int *)0x67a9;

          *ptr = 0xaa66;

          或者較不太好的方法:

           *(int * const)(0x67a9) = 0xaa66;

          3. 在中斷中不能傳遞函數,不能返回一個值,在中斷中一般不要做浮點運算。

          4. 注意C語言中的整型數自動轉換原則,當有符號類型和無符號類型時,所有的操作數都自動轉換為無符合類型。

          5 . 關鍵字" volatile" 的幾個問題:

           (1) 一個參數既可以是CONST,還可以是volatile嗎?是的,例如只讀的狀態寄存器,它是volatile,因此可以被意想不到地改變,它是const,困此不能程序去修改。

             (2)一個指針可以是volatile嗎? 是的,一個例子就是一個中斷服務子程序修改一個Buffer的指針。

          6 關鍵字const的含義:

               const    int   a ; //a是一個常整型數

               int  const   a;   //a是一個常整型數

               const  int  *a;   //a是一個指向常整型數的指針

               int * const a;   //a是一個指向整型數的常指針

               int const *a const; //a是一個指向常整型數的常指針

         7   用變量"a" 給出下面的定義。

            (1)   一個整型數: int  a;

            (2)   一個指向整型數的指針: int  *a;

            (3)  一個指向指針的指針,它指向的指針是個整型數:int  **a;

            (4)  一個有10個整型數的數組: int  a[10];

            (5) 一個有10個指針的數組,該指針是指向一個整型數的: int  *a[10];

            (6) 一個指向函數的指針,該函數有一個整型參數并返回一個整型數:int (*a)(int).

            (7) 一個有10個指針的數組,該指針指向一個函數,該函數有一個整型參數并返回一個整型數:int (*a[10])(int).  

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲国产嫩草在线视频 | 在线精品亚洲第一品 | 亚洲人成综合在线 | 综合在线精品视频专区 | 亚洲日韩国产线路一 | 亚洲精品永久在线观看 |