智能车制作

标题: 求助!C2801:‘}’missing [打印本页]

作者: 黯伤人    时间: 2012-11-27 12:12
标题: 求助!C2801:‘}’missing
中断那一行有这个错误。。。说是缺少一个括号,void那一行。求助大神中断怎么编写。
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#define uchar unsigned char
void delay(uchar ms);
uchar loop_time;
void main(void)
{
  /* put your own code here */
  uchar flag=0;
  DDRB=0xff;
  DDRK=0x00;
  DDRE=0x00;
  EnableInterrupts;
  loop_time=PORTA;
  while(1)
  {
    if(loop_time!=PORTA)
      PORTE_PE1=0;
     switch(flag)
     {
        case 0ORTB=0xfe;break;
        case 1:PORTB=0xfd;break;
        case 2:PORTB=0xfb;break;
        case 3:PORTB=0xf7;break;
        case 4:PORTB=0xef;break;
        case 5:PORTB=0xdf;break;
        case 6:PORTB=0xbf;break;
        case 7:PORTB=0x7f;
     }
      flag++;
      if(flag==8)
        flag=0;
      delay(loop_time);
  }
    for(;;) {
    _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
#pragma CODE_SEG __NEAR_SEG NON_BANKED
  void interrupt 6 IRQ_INT(void)
  {
      loop_time=PORTA;
      PORTE_PE1=1;
  }
#pragma CODE_SEG DEFAULT
}
void delay(uchar ms)
{
  uchar i;
  for(;ms>0;ms--)
    for(i=0;i<250;i++);
}

作者: 凌心    时间: 2012-11-27 12:51
大括号放错位置了。main的大括号跑到中断里面去了。
作者: 黯伤人    时间: 2012-11-28 08:08
凌心 发表于 2012-11-27 12:51
大括号放错位置了。main的大括号跑到中断里面去了。

没有啊,中断里面那一对括号是中断的啊。中断是这么写的吗?
作者: 凌心    时间: 2012-11-28 08:59
在delay上面不是有个括号吗?
作者: 黯伤人    时间: 2012-11-28 09:06
凌心 发表于 2012-11-28 08:59
在delay上面不是有个括号吗?

对呀,那个是main的括号。
作者: 凌心    时间: 2012-11-28 09:14
黯伤人 发表于 2012-11-28 09:06
对呀,那个是main的括号。

换到上面去试一下。

作者: 黯伤人    时间: 2012-11-28 09:32
凌心 发表于 2012-11-28 09:14
换到上面去试一下。

嗯嗯,把中断放到主函数后面就可以了,谢喽





欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2