找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 402|回复: 6
收起左侧

error C141: syntax error near '[', expected ')'

[复制链接]
ID:1043127 发表于 2022-8-28 14:44 | 显示全部楼层 |阅读模式
大佬们可以帮我看看这个错误怎么改吗,就这一个错生成不了

111.c(10): error C141: syntax error near '[', expected ')'


这是代码
#include <reg52.h>
#include<intrins.h>
#include"1602.h"
unsigned long num = 0,time = 0;
unsigned char dis1[]={"Welcome!"};
unsigned char dis2[]={"heart rate:"};
unsigned long LcdOut[4];
unsigned long rate;
unsigned long lcd_init();
unsigned long lcd_wdat(dis1[ i]);[ i]
void Timer0() interrupt 1
{
        TH0 = 0x0D8;         //10ms????
TL0 = 0x0F0;           
        time++;                  //time????,?????
}
void exint0() interrupt 0                //????0
{
           if(num==0)                 //?????????,???????R?
           {
                ET0=1;
    TR0 = 1;         //?????????
                rate=0;                 //?????0???
           }                           
        num++;                 //??????,num??,?R???
}
void main()
{
  unsigned char i = 0;


  //??????0
  TMOD = 0x01;   
  TH0 = 0x0D8;         //10ms????
  TL0 = 0x0F0;         
  IT0 = 1;                  //????0?????
  EA = 1;             //?????
  EX0 = 1;                 //??????0
  //??????
  lcd_init();                                //???LCD                        
  delay(10);
  lcd_pos(4);                                //????????????5???
        while(dis1[ i] != '\0')[ i]
        {                                                //????"welcome!"
                lcd_wdat(dis1[ i]);[ i]
                i++;
        }
  delay(2000);         //??2?,??????
  //?????? heart rate: ??
  lcd_init();
  i = 0;
  lcd_pos(1);                                //????????????1???
        while(dis2[ i] != '\0')[ i]
        {                                                //????"welcome!"
                lcd_wdat(dis2[ i]);[ i]
                i++;
        }
  while(1)  
  {
          if(num>=3)                                   
    {
                rate = 6000*2/time;        //????(?/??),?2?R-R?????????
                num=1;time=0;                        //?0(1)??,????????2?RR??
//????????RR?????????,?????????,????,???????????
        }
                  //?LCD1602?????
                  LcdOut[0]=rate%1000/100+0x30;
     LcdOut[1]=rate%100/10+0x30;
     LcdOut[2]=rate%10+0x30;
                  for( i=0; i<3; i++)
                 {         
                lcd_pos(i+0x43);                //????????2?        
                lcd_wdat(LcdOut[ i]);[ i]
                 }
  }
}


回复

使用道具 举报

ID:1043127 发表于 2022-8-28 14:46 | 显示全部楼层
unsigned long lcd_wdat(dis1);这行的错误
回复

使用道具 举报

ID:883242 发表于 2022-8-28 16:25 | 显示全部楼层
unsigned long lcd_wdat(dis1[ i]);[ i]
回复

使用道具 举报

ID:94031 发表于 2022-8-28 18:42 | 显示全部楼层
程序没给全。
回复

使用道具 举报

ID:59202 发表于 2022-8-28 20:52 | 显示全部楼层
111.c(10): error C141: syntax error near '[', expected ')'

不是说的很清楚了吗?第10行语句有语法错误,转到第10行:unsigned long lcd_wdat(dis1[ i]);[ i]一看不就发现语句末分号后面多了个[i],这种keil软件的错误提示看不懂就查百度啊
回复

使用道具 举报

ID:1023753 发表于 2022-8-29 07:45 | 显示全部楼层
复制的程序,好多错误  不止这一处,都需要改
回复

使用道具 举报

ID:824490 发表于 2022-8-29 17:42 | 显示全部楼层
百度翻译是个好工具,你值得拥有!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表