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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3058|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

error C141: syntax error near '}' keil4報(bào)錯(cuò) 簡(jiǎn)易超市收銀機(jī) 單片機(jī)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:204561 發(fā)表于 2017-5-25 01:01 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
LEIL4報(bào)錯(cuò):IIC.H(107): error C141: syntax error near '}' (說(shuō)的是這個(gè)         bitcounter--})
請(qǐng)問為什么?

  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和其他一些地方需要的延時(shí)函
  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)                                 //開始總線的活動(dòng)
  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)                            //停止總線活動(dòng),器件進(jìn)入低功耗狀態(tài)
  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)                            //應(yīng)答信號(hào)
  33. {
  34.          sda=0;
  35.          _nop_();_nop_();_nop_();_nop_();
  36.          scl=1;
  37.         _nop_();_nop_();_nop_();_nop_();
  38.          scl=0;                          
  39. //允許從器件改變當(dāng)前SDA的狀態(tài),以便于下一次的讀入
  40.   }
  41. //-----------------------------------------------------
  42.   void noack(void)                                //無(wú)應(yīng)答信號(hào)
  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)                                                  //寫入一個(gè)字節(jié)
  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)                 //數(shù)據(jù)的發(fā)送為高位在前,低位在后
  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)                                                  //讀出一個(gè)字節(jié)
  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;                         //數(shù)據(jù)的讀入為高位在前,低位在后
  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. //發(fā)送命令和操作對(duì)象給24c64
  112. void writenbyte(uchar *adata,uchar address)
  113. {
  114.            uchar bb;                                                       //定義'寫字節(jié)數(shù)'變量bb
  115.          for(bb=0;bb<16;bb++)                                  //寫入16個(gè)字節(jié)
  116.          {   start();                                                          //器件地址
  117.                    send(0xa0);
  118.                 checkack();
  119.                    send(0x00);                                          //從器件內(nèi)部高地址
  120.                   checkack();                                                                                       
  121.                    send(address+bb);                                 //從器件內(nèi)部地址低位
  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;                                           //定義'讀字節(jié)數(shù)'變量i
  132.            for(i=0;i<16;i++)
  133.            {
  134.             start();
  135.                 send(0xa0);
  136.                 ack();
  137.                 send(0x00);                                         //從器件內(nèi)部高地址
  138.                 ack();
  139.                 send(address+i);                                 //從器件內(nèi)部地址低位
  140.                 ack();
  141.                 start();
  142.                 send(0xa1);
  143.                 ack();
  144.             adata[i]=read();                                         //讀取操作數(shù)
  145.                 scl=0;
  146.                 noack();
  147.                 stop();
  148.         }
  149. }
  150. /********************************結(jié)束************************************/
復(fù)制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:149988 發(fā)表于 2017-5-26 17:20 | 只看該作者

RE: error C141: syntax error near '}' keil4報(bào)錯(cuò) 簡(jiǎn)易超市收銀機(jī) 單片機(jī)程序

意思是,第110行“}”號(hào)附近有錯(cuò)誤,具體是語(yǔ)句bitcounter--缺少“;”號(hào)。加上‘:’號(hào),該錯(cuò)誤即消除。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产欧美日韩 | 国产欧美一区二区久久性色99 | 毛片在线免费播放 | 亚洲 中文 欧美 日韩 在线观看 | 日韩久久网 | 亚洲精品久久 | 日韩精品免费视频 | 华丽的挑战在线观看 | 午夜精品久久久久久久 | 久久亚洲精品国产精品紫薇 | 超碰日韩 | 综合久久综合久久 | 欧美日韩专区 | 色综合天天网 | 久久麻豆精品 | 久久一区二区视频 | 国产成人99久久亚洲综合精品 | 久久精品播放 | 国产精品日韩欧美 | 欧美成人手机在线 | 久久天堂网 | 亚洲欧美激情精品一区二区 | 午夜免费观看网站 | 高清视频一区二区三区 | 午夜久久久 | 亚洲综合视频 | 欧美一区二区三区在线观看 | 日本免费网 | 一区二区三区在线 | 欧 | 超碰日韩 | 99热这里只有精品8 激情毛片 | 国产情品 | 日本电影一区二区 | 国产精品久久久久久吹潮 | 男人天堂99 | 中文字幕一区在线观看视频 | 99久久精品免费看国产四区 | 日韩国产在线 | 久久综合入口 | 国产一区二区三区在线视频 | 精品欧美一区二区三区久久久 |