久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: error C141: syntax error near '}' keil4報錯 簡易超市收銀機 單片機程序 [打印本頁]

作者: CL123da    時間: 2017-5-25 01:01
標題: error C141: syntax error near '}' keil4報錯 簡易超市收銀機 單片機程序
LEIL4報錯:IIC.H(107): error C141: syntax error near '}' (說的是這個         bitcounter--})
請問為什么?

  1. #include<intrins.h>
  2. #define uchar unsigned char
  3. #define sda  P3_6                             //定義SDA口
  4. #define scl  P3_7                                //定義SCL口
  5. //-----------------------------------------------------
  6. void delay(uchar a)                                //24C64和其他一些地方需要的延時函
  7. {
  8.           uchar b,c;
  9.           for(b=0;b<a;b++)
  10.     for(c=0;c<225;c++);
  11. }
  12. //-----------------------------------------------------
  13. void start(void)                                 //開始總線的活動
  14. {
  15.          sda=1;
  16.          scl=1;
  17.         _nop_();_nop_(); _nop_(); _nop_();
  18.          sda=0;
  19.          _nop_();_nop_();_nop_(); _nop_();
  20.          }
  21. //-----------------------------------------------------
  22.          void stop(void)                            //停止總線活動,器件進入低功耗狀態
  23. {
  24.          sda=0;
  25.          _nop_();_nop_();_nop_();_nop_();
  26.          scl=1;
  27.          _nop_();_nop_();_nop_();_nop_();
  28.          sda=1;
  29.          _nop_();_nop_();_nop_();_nop_();
  30.    }
  31. //-----------------------------------------------------
  32.   void ack(void)                            //應答信號
  33. {
  34.          sda=0;
  35.          _nop_();_nop_();_nop_();_nop_();
  36.          scl=1;
  37.         _nop_();_nop_();_nop_();_nop_();
  38.          scl=0;                          
  39. //允許從器件改變當前SDA的狀態,以便于下一次的讀入
  40.   }
  41. //-----------------------------------------------------
  42.   void noack(void)                                //無應答信號
  43. {
  44.          sda=1;
  45.          _nop_();_nop_();_nop_();_nop_();
  46.          scl=1;
  47.          _nop_();_nop_();_nop_();_nop_();
  48.          scl=0;
  49. }
  50. //-----------------------------------------------------
  51. void checkack(void)
  52.   {         
  53.       _nop_();_nop_();_nop_();_nop_();
  54.            scl=1;
  55.           if(sda)
  56.            {
  57.             scl=0;
  58.            }
  59.           else
  60.            {
  61.                    _nop_();_nop_();_nop_();_nop_();
  62.             scl=0;
  63.            }
  64. }
  65. //-----------------------------------------------------
  66. void send(uchar kk)                                                  //寫入一個字節
  67.   {
  68.    uchar bitcounter=8;
  69.    uchar temp;
  70.    do
  71.    {
  72.              temp=kk;
  73.                  scl=0;
  74.                  _nop_();_nop_();_nop_();_nop_();
  75.                  if((temp&0x80)==0x80)                 //數據的發送為高位在前,低位在后
  76.                  sda=1;
  77.                  else
  78.                 sda=0;
  79.                  scl=1;
  80.                  temp=kk<<1;
  81.                  kk=temp;
  82.                  bitcounter--;
  83.     }
  84.          while(bitcounter);
  85.          scl=0;
  86. }
  87. uchar read(void)                                                  //讀出一個字節
  88. {
  89.                   uchar temp=0;
  90.                   uchar temp1=0;
  91.                   uchar bitcounter=8;
  92.                   sda=1;
  93.                   do
  94. {
  95.              scl=0;
  96.               _nop_();_nop_();_nop_();_nop_();
  97.              scl=1;
  98.               _nop_();_nop_();_nop_();_nop_();
  99.              if(sda)
  100.               temp=temp|0x01;                         //數據的讀入為高位在前,低位在后
  101.              else
  102.               temp=temp&0xfe;
  103.              if(bitcounter-1)
  104.               {    temp1=temp<<1;
  105.                            temp=temp1;
  106.                   }
  107.          bitcounter--}
  108.          while(bitcounter);                                         //讀入8位
  109.          return temp;
  110. }
  111. //發送命令和操作對象給24c64
  112. void writenbyte(uchar *adata,uchar address)
  113. {
  114.            uchar bb;                                                       //定義'寫字節數'變量bb
  115.          for(bb=0;bb<16;bb++)                                  //寫入16個字節
  116.          {   start();                                                          //器件地址
  117.                    send(0xa0);
  118.                 checkack();
  119.                    send(0x00);                                          //從器件內部高地址
  120.                   checkack();                                                                                       
  121.                    send(address+bb);                                 //從器件內部地址低位
  122.                    checkack();         
  123.                    send(adata[bb]);
  124.                    checkack();                                                
  125.                    stop();                                                   
  126.                    delay(40);            
  127.           }
  128.   }                                                         
  129. void readnbyte(uchar *adata,uchar address)
  130.   {
  131.           uchar  i;                                           //定義'讀字節數'變量i
  132.            for(i=0;i<16;i++)
  133.            {
  134.             start();
  135.                 send(0xa0);
  136.                 ack();
  137.                 send(0x00);                                         //從器件內部高地址
  138.                 ack();
  139.                 send(address+i);                                 //從器件內部地址低位
  140.                 ack();
  141.                 start();
  142.                 send(0xa1);
  143.                 ack();
  144.             adata[i]=read();                                         //讀取操作數
  145.                 scl=0;
  146.                 noack();
  147.                 stop();
  148.         }
  149. }
  150. /********************************結束************************************/
復制代碼





作者: 不倒翁.WZT    時間: 2017-5-26 17:20
標題: RE: error C141: syntax error near '}' keil4報錯 簡易超市收銀機 單片機程序
意思是,第110行“}”號附近有錯誤,具體是語句bitcounter--缺少“;”號。加上‘:’號,該錯誤即消除。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美日韩一二三区 | 久久久久久久久久久丰满 | 日日操日日干 | 国产在线第一页 | 精品国产色 | 免费看黄色片 | 午夜视频在线免费观看 | 亚洲麻豆 | 亚州午夜精品 | 在线播放国产一区二区三区 | 国产成人高清在线观看 | 成人黄色电影在线播放 | 欧美成人一级视频 | 国产超碰人人爽人人做人人爱 | 365夜爽爽欧美性午夜免费视频 | 中文字幕亚洲国产 | 亚洲精品欧美 | 天天操夜夜爽 | 日韩在线免费视频 | 久久综合久久自在自线精品自 | 欧美日韩高清在线一区 | 欧美日韩在线电影 | 一区二区中文字幕 | 中文字幕在线观看一区二区 | 欧美精品片| 亚洲视频三区 | 亚洲欧美在线免费观看 | 精品欧美一区二区三区免费观看 | 在线播放国产一区二区三区 | 免费一区二区三区在线视频 | 国产高清一区二区三区 | 欧美99 | 久久香蕉精品视频 | 欧美狠狠操 | 成人a在线 | 老牛影视av一区二区在线观看 | 午夜精品一区 | 日韩一区二区在线视频 | 在线欧美视频 | 91极品视频 | 在线看av网址 |