菜鸟提问:KEILC中编译错误理由left side of asn-op not a lvalue

baiyang8361   2009-4-7 16:03 楼主
我使用keilC编译,用来做与E2通讯的命令,都是copy过来稍有改动的,目前只有一个错误无法解答了,搜索了半天都没找到答案。
I2c操作,程序是这样的:
#include "EEprom.h"
void startI2C(void)
{
        resetSCL;  dalay600();
        setSDA;    dalay600();
        setSCL;    dalay600();
        resetSDA;  delay600();
        resetSCL;  delay1300();
}
我在EEprom.h中有定义:
#define    resetSCL   {(P1OE&BIT3) = 0; (P1OD&BIT3) = 0;}
#define    setSCL     (P1IE&BIT3) = 1

#define    resetSDA   {(P1OE&BIT4) = 0; (P1OD&BIT4) = 0;}
#define    setSDA     (P1IE&BIT4) = 1

编译后就是错误的:compiling EEprom.c...
BOTTOM\EEPROM.C(6): error C213: left side of asn-op not an lvalue
bottom\EEprom.c - 1 Error(s), 0 Warning(s).
错误指示在第一行resetSCL那里,请哪位指点一下啊?多谢了先

回复评论 (4)

周工开发网-淘宝店开张!
三款周立功99元开发板,非常适合初学者,资料丰富价格便宜。

EasyARM1138  (内嵌USB仿真器的Cortex-M3开发板)
EasyARM2103  (arm7内核开发板)
EasyFPGA030  (FPGA开发板)

详情如下:

www.01zg.com
点赞  2009-4-7 16:38
使用sbit
#define BIT3 3
sbit         P1oE=P0^BIT3;
sbit         P1oD=P1^BIT3;
点赞  2009-4-7 20:22
left side of asn-op not an lvalue

(等号的)左边不是一个左值

你再看看,你那边是放了一个什么东西?

呵呵,注意一下值与变量


还有,英语还得加强一下

不要会写,不要会说,看懂总成吧?

好运
点赞  2009-4-10 22:30
郁闷好一阵,要说这编程,我可以改正,可以学,但是英语达到则会个地步,唉
点赞  2009-4-29 08:54
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复