我使用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那里,请哪位指点一下啊?多谢了先
周工开发网-淘宝店开张!
三款周立功99元开发板,非常适合初学者,资料丰富价格便宜。
EasyARM1138 (内嵌USB仿真器的Cortex-M3开发板)
EasyARM2103 (arm7内核开发板)
EasyFPGA030 (FPGA开发板)
详情如下:
www.01zg.com
使用sbit!
#define BIT3 3
sbit P1oE=P0^BIT3;
sbit P1oD=P1^BIT3;
left side of asn-op not an lvalue
(等号的)左边不是一个左值
你再看看,你那边是放了一个什么东西?
呵呵,注意一下值与变量
还有,英语还得加强一下
不要会写,不要会说,看懂总成吧?
好运
郁闷好一阵,要说这编程,我可以改正,可以学,但是英语达到则会个地步,唉