verstehe ich nich. wenn du alle anderen pins ausser den des relais
schalten willst müsstest du das aussortieren. aber so wie du´s jetz
machst hat temp in der zeile out PORTD, temp immer den wert 255.
es wird keine rücksicht auf den eingelesenen wert genommen, er wird
sofort wieder überschrieben.
wenn du dir erhoffst durch ein empfangenes byte das relais einmal
klacken zu hören müsstest du den pin wenigstens einmal mit dem
empfangenen wert setzen. würde jedoch auch nichts helfen, denn so
schnell wie der prozessor mit 8mhz ist, hätte das relais eine zu grosse
trägkeit um kurz abzufallen / anzuziehen. das kann innerhalb von 125ns
nicht klappen.
egal was du machen willst, der fehler liegt in der zeile ldi temp, 255
oder der darunter.
int_rxc:
push temp ; temp auf dem Stack sichern
in temp, UDR
ldi temp, 255
out PORTD, temp
pop temp ; temp wiederherstellen
reti ; Interrupt beenden