<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        嵌入式問題之(數組定義)

        作者:huqin   來源:本站原創   點擊數:  更新時間:2014年04月10日   【字體:

            今天調出來了跑馬燈用數組和指針實現。
            之前出現過幾個問題:
            程序描述:s3c2440addr.h中定義了LED1_ON,LED2_ON,LED3_ON和LED4_ON;將他們放入數組中這樣定義:unsigned char const arrange[]={LED1_ON,LED2_ON,LED3_ON,LED4_ON};然后調用數組中的值是,led第三和第四個等一直是亮的,沒有實現跑馬燈的效果,而且在數組處出現了警告。于是定義了一個指針,看看是數組出了問題還是函數體里出了問題;指針式這樣定義的,unsigned char *p,p=arrange;此時出現錯誤(原因是沒有const,因為定義數組時有一個const,將指針改成unsigned char const *p沒有錯誤依然是數組處有4個警告);后來發現,我的LED1_ON等都是數字而數組定義的卻是字符,于是將數組定義為:unsigned int arrange[]={LED1_ON,LED2_ON,LED3_ON,LED4_ON}4個警告消失,程序運行成功。
        #include"s3c2440addr.h"
        //unsigned char const arrange[]={LED1_ON,LED2_ON,LED3_ON,LED4_ON}; //這里的char用錯了
        //可以這樣定義 unsigned int const  arrange[]={LED1_ON,LED2_ON,LED3_ON,LED4_ON};
        //但是指針就要這樣定義:unsigned int const *p;
        unsigned int  arrange[]={LED1_ON,LED2_ON,LED3_ON,LED4_ON};
        void delay(unsigned int x)
        {
         unsigned int i,y;
         for(i=x;i>0;i--)
         for(y=10000;y>0;y--);
        }
        void main()
        {
         int num;
         unsigned int  *p;
         p=arrange;
         GPBCON=0x1DD7FC;
         while(1)
         {
          //for(num=0;num<4;num++)
          //{ 
           if(p==arrange+5)
           {
            p=arrange;
           }
           GPBDAT=*p;
           delay(5000);
           p++;


          //}
         }
        }
           

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮