lỗi báo error: lvalue required as left operand of assignment
lỗi này là lỗi gì thế các bác.
chương trình của em:
các dòng có lỗi như trên là :
lỗi này là lỗi gì thế các bác.
chương trình của em:
Code:
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include "pcd8544.h"
#include "main.h"
#define contrast 0x7F
//#define contrast 0x2A
#define LATCH PB2
#define DATA PB3
#define CLK PB5
#define D5 851
#define E5 758
#define Fsh5 675
#define G5 637
#define A5 568
#define B5 506
#define C6 477
#define D6 425
#define DUR 40
static const unsigned char data[6][8] PROGMEM = {
{0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00},
{0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0}
};
volatile unsigned char temp[8],i,j=0;
void latch_data();
void latch_data( void )
{
LATCH = 1;
LATCH = 0;
}
ISR (TIMER1_COMPA_vect)
{
for (i=0;i<8;i++)
{
temp[i] = data[0][i];
}
}
ISR (TIMER2_COMP)
{
for (i=0;i<8;i++)
{
if (temp[i]&(0x80>>i))
DATA = 0;
else
DATA = 1;
CLK = 0;
CLK = 1;
}
latch_data();
PORTC = j|8;
j++;
if (j==8)
{
j=0;
}
}
int main()
{
PORTD=0x00;
DDRD=0xFF;
PORTB=0x00;
DDRB=(1<<CLK)|(1<<LATCH)|(1<<DATA);
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 11.719 kHz
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: On
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x05;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x01;
OCR1AL=0xD4;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 46.875 kHz
// Mode: CTC top=OCR2
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x0E;
TCNT2=0x00;
OCR2=0x75;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x90;
sei();
PORTC=0x00;
DDRC=0xFF;
LcdInit();
LcdContrast(contrast);
LcdInit();
return 0;
}
Code:
LATCH = 0; LATCH = 1; DATA = 0; DATA = 1; CLK = 0; CLK =1;

Comment