34051|20

29

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

每次用中断都出现Error[Pe065]: expected a ";" 不是缺符号的问题!! [复制链接]

用的IAR FOR MSP430 软件编程,求助是为何。。。

最新回复

我也好想知道,求大神回复!  详情 回复 发表于 2016-5-6 21:23
 
点赞 关注

回复
举报

2131

帖子

0

TA的资源

至上芯片

沙发
 
点到错误位置把代码让大家看一下,是否缺少";"
 
个人签名处处留心皆学问!
 

回复

5276

帖子

5

TA的资源

裸片初长成(中级)

板凳
 
可能代码中有些错漏写,仔细检查一下看看
 
个人签名没工作,没女人老婆,没宽带 ,  没钱
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

4
 

点了是这里。。可是不缺啊。。

点评

全部的代码最好贴上来呢!提示的错误很可能发生在编译器指向的位置上面而并不是编译器指向的位置呢!  详情 回复 发表于 2014-6-28 16:55
 
 
 

回复

951

帖子

1

TA的资源

纯净的硅(中级)

5
 
Jiaoeeer 发表于 2014-6-28 16:32
点了是这里。。可是不缺啊。。

全部的代码最好贴上来呢!提示的错误很可能发生在编译器指向的位置上面而并不是编译器指向的位置呢!
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

6
 
#include
#include"anjian1.c"
#include"anjian2.c"
void dis(unsigned int n);
unsigned char seg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//共阳数码管字型码数组
unsigned char table[10];
unsigned int i=0,k=0; //声明数据类型
void main(){
  
  WDTCTL = WDTPW + WDTHOLD; //关看门狗
  P1DIR &= ~BIT0; //P1.0引脚设置成输入,该引脚连接的按键按下时,按键输出低电平
  P1DIR &= ~BIT1;//P1.1引脚设置成输入,该引脚连接的按键按下时,按键输出低电平
  P4DIR =0xff; //P4口设置为输出,连接共阳数码管
  P2DIR =0xff;//P2口设置为输出,连接前8个档位
  P3DIR =0xff;//P3口设置为输出,连接后2个档位
  P1IE |= BIT0+BIT1;               // P1.0-P1.1 IO口中断使能
  P1IES |= 0x07;                        // P1.0-P1.2 IO口边沿触发中断方式设置
  P1IFG &= ~(BIT0+BIT1);           // P1.0-P1.2 IO口中断标志位清除  
  _EINT();                              //中断允许
  LPM4;                                  // 进入低功耗LPM4,此时单片机功耗最低
  
  while(1){
  
    if(anjian1()){
      P4OUT=seg[i++];
      k=i;
    }
    else if(anjian2()){
      P4OUT=seg[k--];
    }
  }

#pragma vector=PORT1_VECTOR
  __interrupt void Port1()
  {
    if((P1IFG&BIT0)==BIT0)
    {
      //处理P1.0中断
      P1IFG &= ~BIT0;//清除中断标志
      //跳档
      if(seg[i++]!=0x80 &&seg[i++]!=0x90)
          P2OUT=0x80>>i;
      else
          P3OUT=0x80>>(i-8);
    }
    else if(P1IFG&BIT1) ==BIT1)
    {
      //处理P1.1中断
      P1IFG &= ~BIT1;//清除中断标志
      //跳档
      if(seg[i++]!=0x80 &&seg[i++]!=0x90)
          P2OUT=(0x80>>i)<<1;
      else
          P3OUT=0x80<<(i-8);
    }
}
}



就是这个,我每次用中断都要提示那个错误
 
 
 

回复

951

帖子

1

TA的资源

纯净的硅(中级)

7
 
你再看看是不是哪里的分号用的是中文的分号呢?或者把工程传上来我帮你看看呢!这样看貌似也没什么毛病呢!中断去掉就没问题吗?

点评

是啊。。去掉中断就木有问题,一加上就只是这个问题。。方便加扣扣么?我的扣扣是三九八零五二五三五,求指导  详情 回复 发表于 2014-6-29 20:41
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

8
 
huixianfxt 发表于 2014-6-29 19:49
你再看看是不是哪里的分号用的是中文的分号呢?或者把工程传上来我帮你看看呢!这样看貌似也没什么毛病呢! ...

是啊。。去掉中断就木有问题,一加上就只是这个问题。。方便加扣扣么?我的扣扣是三九八零五二五三五,求指导

点评

工程文件发上来吧!我编译下试试呢!  详情 回复 发表于 2014-6-29 20:43
 
 
 

回复

951

帖子

1

TA的资源

纯净的硅(中级)

9
 
Jiaoeeer 发表于 2014-6-29 20:41
是啊。。去掉中断就木有问题,一加上就只是这个问题。。方便加扣扣么?我的扣扣是三九八零五二五三五,求 ...

工程文件发上来吧!我编译下试试呢!

点评

楼上。我不知道是不是这么传= =  详情 回复 发表于 2014-6-29 20:51
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

10
 
不知道是不是这么传工程。。。

工程.zip

472.66 KB, 阅读权限: 5, 下载次数: 16

 
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

11
 
huixianfxt 发表于 2014-6-29 20:43
工程文件发上来吧!我编译下试试呢!

楼上。我不知道是不是这么传= =

点评

看一下是不是你要的呢!少了个半个括号呢(中断中的判断条件),看附件呢! [attachimg]156069[/attachimg]  详情 回复 发表于 2014-6-29 21:04
 
 
 

回复

951

帖子

1

TA的资源

纯净的硅(中级)

12
 
Jiaoeeer 发表于 2014-6-29 20:51
楼上。我不知道是不是这么传= =

看一下是不是你要的呢!少了个半个括号呢(中断中的判断条件),看附件呢!




project.rar

122.1 KB, 下载次数: 45

点评

嗯嗯,应该是这个错误,谢谢了额。但是又有个新问题了,用IAR怎么单步调试额?  详情 回复 发表于 2014-6-30 10:48
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

13
 
huixianfxt 发表于 2014-6-29 21:04
看一下是不是你要的呢!少了个半个括号呢(中断中的判断条件),看附件呢!

嗯嗯,应该是这个错误,谢谢了额。但是又有个新问题了,用IAR怎么单步调试额?

点评

看看IAR的教程呢!debug的时候点击相应的按钮就可以了呢!很简单的呢!找个参考书看看就行了呢!论坛上应该有相应资源的呢!  详情 回复 发表于 2014-6-30 10:51
 
 
 

回复

951

帖子

1

TA的资源

纯净的硅(中级)

14
 
本帖最后由 huixianfxt 于 2014-6-30 10:55 编辑
Jiaoeeer 发表于 2014-6-30 10:48
嗯嗯,应该是这个错误,谢谢了额。但是又有个新问题了,用IAR怎么单步调试额?

看看IAR的教程呢!debug的时候点击相应的按钮就可以了呢!很简单的呢!找个参考书看看就行了呢!论坛上应该有相应资源的呢!论坛上的培训中有IAR的培训教程呢!WSTT讲的呢!很不错!

点评

网上找了好多都是仿真的,没找到逐步调试的。。。我的版本貌似只有download and debug和debug and withoutdownload。。。没找到单独的debug的选项,是按后面without那个吗?按了之后又出现这个错  详情 回复 发表于 2014-6-30 11:01
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

15
 
huixianfxt 发表于 2014-6-30 10:51
看看IAR的教程呢!debug的时候点击相应的按钮就可以了呢!很简单的呢!找个参考书看看就行了呢!论坛上应 ...

网上找了好多都是仿真的,没找到逐步调试的。。。我的版本貌似只有download and debug和debug and withoutdownload。。。没找到单独的debug的选项,是按后面without那个吗?按了之后又出现这个错

QQ图片20140630105933.jpg (16.04 KB, 下载次数: 2)

QQ图片20140630105933.jpg

点评

点 download and debug 呢!到时候会有相应的单步调试的按钮呢!你还是从基础开始学吧!找一本书籍看看呢!  详情 回复 发表于 2014-6-30 14:05
 
 
 

回复

951

帖子

1

TA的资源

纯净的硅(中级)

16
 
Jiaoeeer 发表于 2014-6-30 11:01
网上找了好多都是仿真的,没找到逐步调试的。。。我的版本貌似只有download and debug和debug and withou ...

点 download and debug  呢!到时候会有相应的单步调试的按钮呢!你还是从基础开始学吧!找一本书籍看看呢!

点评

嗯嗯,会调试了,谢谢了。 可否再问一个问题=。= 下面这个程序我仿真的时候,按键按下加可以,在8以内的数按减又不行了。。必须的按到8之后的数才能操作减,而且在8以内的说按了减之后没有减按加也不能动了,这是  详情 回复 发表于 2014-7-1 11:59
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

17
 
huixianfxt 发表于 2014-6-30 14:05
点 download and debug  呢!到时候会有相应的单步调试的按钮呢!你还是从基础开始学吧!找一本书籍看看 ...

嗯嗯,会调试了,谢谢了。
可否再问一个问题=。=
下面这个程序我仿真的时候,按键按下加可以,在8以内的数按减又不行了。。必须的按到8之后的数才能操作减,而且在8以内的说按了减之后没有减按加也不能动了,这是为什么额。。是我哪里没想对么╮(╯▽╰)╭


#include
typedef unsigned int uint;
typedef unsigned char uchar;
void delay(uint z);  
uint i=0,key=0;
uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //0-f 共阳极
void main(){


  WDTCTL=WDTPW+WDTHOLD;//关狗
  P1DIR &=~BIT0;
  P1DIR &=~BIT1;//P1.0~P1.1设置为输入状态
  P4DIR =0xFF;//P4口设置为输出,连接共阳数码管
  P4SEL =0;//P4口功能转换为普通I/O口
  P4OUT =0xFF;
  P1SEL =0;
  P1IES = 0x03;               // P1.0~P1.1选择下降沿中断
  P1IE  = 0x03;               // 打开中断使能
  _EINT();                    //打开全局中断控制位
  while(1)
  {
    if(!(P1IN&BIT0)){
      P4OUT=table[key];
      
    }
    if(!(P1IN&BIT1))
      P4OUT=table[key];
  }
}
#pragma vector=PORT1_VECTOR
__interrupt void Port(void){
  if(P1IFG & 0x0f)
    {
        switch(P1IFG)
        {
        case 0x01:
          if(!(P1IN&BIT0))//是否键入低电平
          {
            delay(10);//10ms防抖
            if(!(P1IN&BIT0))//防抖之后是否依旧为低电平,是则继续
            {
              while(!(P1IN&BIT0)){ //等待按键松开
                key = i;
                if(i<15)
                  i++;
                P1IFG = 0;
                return;
              }
            }
          }
        case 0x02:
          if(!(P1IN&BIT1))//是否键入低电平
          {
            delay(10);//10ms防抖
            if(!(P1IN&BIT1))//防抖之后是否依旧为低电平,是则继续
            {
              while(!(P1IN&BIT1)){ //等待按键松开
                if(i>0)
                  i--;
                key = i;
                P1IFG = 0;
                return;
              }
            }
          }
        }
    }
}
void delay(uint z){
  uint x,y;
  for(x=z;x>0;x--)
    for(y=110;y>0;y--);//延时z毫秒  1000ms=1s
}



 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

18
 
#include
void main (void)
{
  unsigned char i;
  WDTCTL=WDTPW+WDTHOLD;
  P4DIR|=0x10;
  While(1)
  {                       在这个位置有错误expected a ';'
    i=50000;
    P4OUT^=0x01;
    While(i--);
  }
}
大神帮忙看看呗,不知道怎么回事
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(初级)

19
 
刚好遇到相同问题,解决了。
 
 
 

回复

1291

帖子

0

TA的资源

纯净的硅(中级)

20
 
只能说你太粗心了,编译器不难用,编译器出了问题你可以把输出的错信息复制,然后上网搜索,寻找解决的方案,要自己学会独立解决问题呀,用好一个,其他的编译器也是这样用的,自己多做总结。程序不要犯些很低级的错误
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表