Napisem cely problem. Chcem konkretne na attiny2313 ovladat bytom cely port, kvoli led effektom. Port obsahuje tieto hodnoty PD5,PD6,PB0,PB1,PB2,PB3,PB4. Takze potrebujem citat hodnoty z nejakeho bytu a zapisovat ich na tie porty v tom presnom poradi, kedze je to uz navrhnute na plosaku a led su v takom poradi za sebou. Samozrejme mohol by som ich ovladat samostatne ale ten kod je potom dlhy a dlhyyy. Preto chcem pouzit nejaku rutinu. Pouzil som funkciu WRITE_BYTE to ide ale sa mi zda ze moc miesta zabera kedze tam mam pamat len 2k. Tak chcem vyskusat cez define ale to nemozem rozbehat
Takto som to skusal len na test a nie a nie ist. Malo by mi rosvietit led PB3 , PB4 a PD1 teoreticky
[code]#include <avr/io.h>
#define READ_BYTE() ((PINB>>3)&3)|((PIND&2)<<1)
#define nop(); asm(“NOP”);
char volatile test;
int main(){
DDRB|=0x7F;//PB7 vstup ostatne vystup
PORTB|= (1<<PB7);//PB7 pull-up
DDRD|=0xFF;
while(1){
nop();
test =0xFF;
test|= READ_BYTE();
nop();
}
}
[/code]