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