首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVR的MiKroc中的bulian出现“Invalid expression”错误

AVR的MiKroc中的bulian出现“Invalid expression”错误
EN

Stack Overflow用户
提问于 2015-12-24 02:04:59
回答 1查看 357关注 0票数 0

我正在用MiKroc为AVR编写一个ds1307定时器,所以我的代码是:

代码语言:javascript
复制
// Lcd module connections
sbit LCD_RS   at PORTC2_bit ;
sbit  LCD_EN  at PORTC3_bit;
sbit LCD_D4  at PORTC4_bit  ;
sbit LCD_D5  at PORTC5_bit   ;
sbit LCD_D6  at PORTC6_bit   ;
sbit LCD_D7  at PORTC7_bit   ;

sbit LCD_RS_Direction  at DDC2_bit;
sbit LCD_EN_Direction  at DDC3_bit;
sbit LCD_D4_Direction  at DDC4_bit;
sbit LCD_D5_Direction  at DDC5_bit;
sbit LCD_D6_Direction  at DDC6_bit;
sbit LCD_D7_Direction  at DDC7_bit;

int Temp1;
int Temp2;
int Temp3;
unsigned short Temp4;


#define inc(x)           x=x+1;
#define lo(x)           Lo(x);
#define hi(x)           Hi(x);
#define and             &&;
#define mod             %;
#define Mod             %;
#define div             /;
#define or              ||;



void shamsi_to_milady(int ShamsiMonth,int  ShamsiDay,int   ShamsiYear )  {
// Declare a constant array which holds number of days in each month:
//const Gmonth_a as byte[12] = (31,28,31,30,31,30,31,31,30,31,30,31)
int miladiYear2,miladiYear,marchDayDiff,Temp5,remainDay ;


int farvardin1st_iMonth; int farvardin1st_iDay; int dayCount; int i ;
//dim miladiDate_iMonth,miladiDate_iDay,miladiDate_iYear  as integer
char Mmonth_a[12];
//const char ss=1;
 /*
struct farvardin1st_2 {
  int iMonth;
  int iDay ;
}
   */

//ss=1;
//const Mmonth_a as byte[12]   =  (30,31,30,31,31,30,31,30,31,31,28,31)
       Mmonth_a[1] = 30 ;
       Mmonth_a[2] = 31;
       Mmonth_a[3] = 30 ;
       Mmonth_a[4] = 31 ;
       Mmonth_a[5] = 31 ;
       Mmonth_a[6] = 30 ;
       Mmonth_a[7] = 31 ;
       Mmonth_a[8] = 30 ;
       Mmonth_a[9] = 31 ;
       Mmonth_a[10] = 31 ;
       Mmonth_a[11] = 28;
       Mmonth_a[12] = 31;

      miladiYear = ShamsiYear + 621;
      miladiYear2=miladiYear;
      Temp1 = miladiYear2 % 4;
      Temp2 = miladiYear2 % 100;
      Temp3 = miladiYear2 % 400;
      Temp4 = (( Temp2 <> 0) && (Temp1 = 0));
      Temp5=((Temp2 = 0) && (Temp3 == 0) );


}
void main() {
      Lcd_Init()   ;
      Lcd_Cmd(_LCD_CLEAR);               // Clear display
      Lcd_Cmd(_LCD_CURSOR_OFF);          // Cursor off
      Lcd_Out(1,6,txtw);
}

我在这一行中遇到了错误:

代码语言:javascript
复制
Temp4 = (( Temp2 <> 0) && (Temp1 = 0));

此错误:

代码语言:javascript
复制
Invalid expression

我认为错误一定是由于变量匹配错误造成的。主要代码在附件中。

非常感谢。

附件:file

EN

回答 1

Stack Overflow用户

发布于 2015-12-24 02:21:15

代码语言:javascript
复制
Temp4 = (( Temp2 <> 0) && (Temp1 = 0));

必须是:

代码语言:javascript
复制
Temp4 = (( Temp2 != 0) && (Temp1 == 0));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34441343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档