Gibberish

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Det här ska inte ligga i Transmit:

Kod: Markera allt

ldi r16, 0b00000000
out DDRD, r16 ;set as input
ldi r16, $ff
out PortD, r16 ;activate pullup
Inställningar av portarna brukar vara det första man gör när AVR:en startar. Så lägg det under reset: någonstans.


Ta bort dom här raderna:

Kod: Markera allt

Wait:
sbic PinD, 2
rjmp Wait
Du har hamnat i Transmit just därför att PD2 (INT0) är låg. Så den kollen behövs inte. Samma sak gäller det här:

Kod: Markera allt

 ; Wait for data to be received
sbis UCSRA, RXC
rjmp USART_Receive
Du har ju hamnat i Receive för att det finns ny data från USART:en att hämta (dvs RXC-biten satt). Så du behöver inte kolla det.

Töm huvudloopen på all kod (sleep-grejjerna) till vidare så att det inte är det som ställer till det.

Kanske är något mer också. Asm är inte min starka sida direkt. :)
Skriv svar