欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8432|回復: 24
打印 上一主題 下一主題
收起左側

keil編譯錯誤missing';' before'i'

  [復制鏈接]
跳轉到指定樓層
樓主
20黑幣
missing';' before'i'
大神們那里出問題

FL4S}69E_WZ)95I0QZL](%6.png (6.41 KB, 下載次數: 68)

FL4S}69E_WZ)95I0QZL](%6.png

7XK)DD}JF_O)I17U~MWXH4P.png (1.29 KB, 下載次數: 77)

7XK)DD}JF_O)I17U~MWXH4P.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:319344 發表于 2018-5-23 19:28 | 只看該作者
有問題,如果你這個for循環是實現延時,那肯定需要調用啊,調用的話你不是寫的子函數,也不是放在main內,你把它寫成子函數問題就解決了
回復

使用道具 舉報

板凳
ID:296970 發表于 2018-5-23 20:50 | 只看該作者
你這for是死循環嗎
回復

使用道具 舉報

地板
ID:295783 發表于 2018-5-24 09:17 | 只看該作者
你這段程序加的位置不對
可以寫成子函數
希望對你有幫助
回復

使用道具 舉報

5#
ID:307829 發表于 2018-5-24 10:26 | 只看該作者
這個for語句一般不直接寫在定義函數下面的,而且你這個for函數是個死循環,0開始減的話永遠到不了200啊,如果函數是為了延時的話可以寫一個delay函數
回復

使用道具 舉報

6#
ID:337301 發表于 2018-5-24 14:46 | 只看該作者
這個程序段的位置不對,應該寫在一個子程序里面
回復

使用道具 舉報

7#
ID:331575 發表于 2018-5-24 18:29 來自觸屏版 | 只看該作者
for函數放置位置不對
回復

使用道具 舉報

8#
ID:268016 發表于 2018-5-24 20:26 | 只看該作者
我認為程序段的位置確實不對,應該位于某個子程序中。但死循環,我覺得不是,是可以執行一次的。執行一次后就脫離循環了。

評分

參與人數 1黑幣 +8 收起 理由
hedianzi + 8 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

9#
ID:155507 發表于 2018-5-24 23:45 | 只看該作者
你寫漏了
應該位于delay()延時子程序中。

  1. #include <reg51.h>
  2. #include "AT24C02.h"
  3. sbit AT24C02_SDA = P3^6;        //定義數據線
  4. sbit AT24C02_SCL = P3^7;        //定義時鐘線

  5. void delay()
  6. {
  7.         uchar i;
  8.         for(i=0; i<200; i--);
  9. }
  10. void I2C_Start()
  11. {
  12.         AT24C02_SDA = 1;   delay();
  13.         AT24C02_SCL = 1;   delay();
  14.         AT24C02_SDA = 0;   delay();
  15.         AT24C02_SCL = 0;
  16. }                      //鉗位I2C總線,準備發送數據
復制代碼

回復

使用道具 舉報

10#
ID:328769 發表于 2018-5-25 01:51 來自觸屏版 | 只看該作者
對,。那個肯定是延時函數。你抄low了
回復

使用道具 舉報

11#
ID:168295 發表于 2018-5-25 02:37 | 只看該作者
uchar是無符號字符型變量類型錯誤 i--后i < 0,屬于
回復

使用道具 舉報

12#
ID:168295 發表于 2018-5-25 02:41 | 只看該作者
angmall 發表于 2018-5-24 23:45
你寫漏了
應該位于delay()延時子程序中。

變量i是uchar(無符號字符型的),當執行i--后,i < 0,屬于變量類型錯誤
回復

使用道具 舉報

13#
ID:268016 發表于 2018-5-25 07:42 | 只看該作者
uchar變量 i=0 后i-- 結果i=0xff ,是255,不是負數,不存在變量類型錯誤之說

評分

參與人數 1黑幣 +8 收起 理由
hedianzi + 8 贊一個!

查看全部評分

回復

使用道具 舉報

14#
ID:337790 發表于 2018-5-25 08:37 | 只看該作者

這個for語句一般不直接寫在定義函數下面的,而且你這個for函數是個死循環,0開始減的話永遠到不了200啊,如果函數是為了延時的話可以寫一個delay函數
回復

使用道具 舉報

15#
ID:141132 發表于 2018-5-25 11:38 | 只看該作者
根據錯誤提示來看,你 uchar i ;這個語句后面缺了一個分號,要知道分號必須緊貼最后一個字符,改成下面這樣應該就沒問題了 uchar i;
回復

使用道具 舉報

16#
ID:338204 發表于 2018-5-25 17:02 | 只看該作者
應該是for(i=0;i<200;i++);
回復

使用道具 舉報

17#
ID:338264 發表于 2018-5-25 18:18 | 只看該作者
這個for循環沒有寫在一個延時函數里面比如void delay(){for(i=0;<200;i--);}。
回復

使用道具 舉報

18#
ID:338264 發表于 2018-5-25 18:20 | 只看該作者
寫一個像這樣的函數void delay (int x) { int i,j; for (i=0;i<x;i++)  for(j=0;j<600;j++); },然后在主程里面調用
回復

使用道具 舉報

19#
ID:338264 發表于 2018-5-25 18:21 | 只看該作者
寫一個這樣的延時函數void delay (int x) { int i,j; for (i=0;i<x;i++)  for(j=0;j<600;j++); },然后直接調用函數。
回復

使用道具 舉報

20#
ID:338273 發表于 2018-5-25 19:11 | 只看該作者
uchar 沒有定義,define unsigned char uchar
回復

使用道具 舉報

21#
ID:331292 發表于 2018-5-25 20:48 | 只看該作者
你把uchar改為int試一試。
回復

使用道具 舉報

22#
ID:331292 發表于 2018-5-25 21:03 | 只看該作者
uchar預定義了嗎?改成int試一試
回復

使用道具 舉報

23#
ID:338398 發表于 2018-5-25 21:28 | 只看該作者
這個for語句一般不直接寫在定義函數下面的,而且你這個for函數是個死循環,0開始減的話永遠到不了200啊,如果函數是為了延時的話可以寫一個delay函數
回復

使用道具 舉報

24#
ID:338412 發表于 2018-5-25 21:59 | 只看該作者
i定義附初值為0,本身就小于200,改成大于200,i++,
回復

使用道具 舉報

25#
ID:390775 發表于 2018-9-4 18:26 | 只看該作者
你把 uchar i   ;
改為  uchar   i;  //把逗號“;”  與 ‘i’  中間不要有空格試下

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表