gpt4 book ai didi

c - 错误 : lvalue required as left operand of assignment, 错误:无效值没有被忽略,因为它应该是

转载 作者:行者123 更新时间:2023-11-30 21:11:18 26 4
gpt4 key购买 nike

我收到这些错误:

error: lvalue required as left operand of assignment
error: void value not ignored as it ought to be

基本上,我有一个 i2c 电容式触摸 Controller ,我会不断扫描,然后检查扫描的数据,然后根据需要执行 d 操作,然后重复。

这是我的代码:

#include <avr/io.h>
#include <util/delay.h>
#include "i2cmaster.h"

#define mpr03x 0x4A

int main(void)
{
unsigned char tou;

DDRA = 0xff;
DDRB = 0xff;
PORTA = 0x03;
_delay_ms(500);
PORTA = 0x00;

i2c_init(); //Initialize I2C

i2c_start_wait(mpr03x+I2C_WRITE); //Set device address and write mode
i2c_write(0x44); //Write address = 68
i2c_write(0x03); //Calibration = ON, Runmode = 1, Enabled = ELE0, ELE1, ELE2

while(1)
{
PORTA = 0x01;
i2c_start_wait(mpr03x=I2C_WRITE); //Set device address and write mode
i2c_write(0x00); //Write address = 68
i2c_rep_start(mpr03x+I2C_READ); // set device address and read mode
tou = i2c_readNak;
i2c_stop;

if(tou == 0x00); //If no pads are pressed
{
PORTA = 0x00;
_delay_ms(1);
}
else
{
if(tou == 0x01); //If pad 1 is pressed
{
PORTA = 0x05;
if(tou == 0x02); //If pad 2 is pressed
{
PORTA = 0x09;
if(tou == 0x03); //If pad 3 is pressed
{
PORTA = 0x11;
_delay_ms(1000);
}
}
else
{
if(tou == 0x02); //If pad 2 is pressed
{
PORTA = 0x09;
if(tou == 0x03); //If pad 3 is pressed
{
PORTA = 0x11;
_delay_ms(1000);
}
else
{
if(tou == 0x03);//If pad 3 is pressed
{
PORTA = 0x11;
_delay_ms(1000);
}
}
}
}

}

}
}`

任何帮助将不胜感激。

最佳答案

这肯定会引起问题:

    i2c_start_wait(mpr03x=I2C_WRITE);   //Set device address and write mode
^

...因为 mpr03x 不是变量。

我的假设是,最后一行的代码中实际上没有反勾号,但无论如何我都会提到它。

正如其他人指出的那样,i2c_stop; 看起来像是一个错误。

关于c - 错误 : lvalue required as left operand of assignment, 错误:无效值没有被忽略,因为它应该是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24458079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com