Lite AVR Asm hjälp.
Lite AVR Asm hjälp.
Det går lite trögt nu..
Jag vill att pinne Pd1 är hög om pb1 är hög, men jag får inte till det bara
Skulle det inte kunna vara nått enkelt som
IF PortD.1 = 1 Then Portb.1 = 1
Else goto loop
Förslag?
Jag vill att pinne Pd1 är hög om pb1 är hög, men jag får inte till det bara
Skulle det inte kunna vara nått enkelt som
IF PortD.1 = 1 Then Portb.1 = 1
Else goto loop
Förslag?
pseudokod:
assemblerkod
Kod: Markera allt
if portd1 == 1then
out portb, 1
endif
goto loop
Kod: Markera allt
sbic PIND, 1
sbi PORTB, 1
rjmp loop
;sbic = Skip if Bit in IO register is Cleared
;sbi = Set Bit in IO register
Det är i BASCOM ,Basic?
Tycker att det borde funka.
Vad är det för knas tro?
Kod: Markera allt
Dim A As Byte
Config Portb = Output
Config Portd = Input
Hit:
Do
If Portd.1 = 1 Then Goto Dit Else Goto Hit
Dit:
Set Portb. 1
Loop
End
Vad är det för knas tro?
Ska det inte vara If PinD.1 = 1 ?Jonaz skrev:Det är i BASCOM ,Basic?
Tycker att det borde funka.Kod: Markera allt
Dim A As Byte Config Portb = Output Config Portd = Input Hit: Do If Portd.1 = 1 Then Goto Dit Else Goto Hit Dit: Set Portb. 1 Loop End
Vad är det för knas tro?
Och snälla använd inte Goto:s. Det är mycket, mycket sällan man verkligen behöver använda det och det anses som väldigt fult att använda sig av det. Tyvärr ser man ofta att Goto:s används i Basic-kod, medan man aldrig ser det i t ex C-kod. Fråga mig inte varför.
Är det inte så här du vill ha det, med reservation för eventuella syntaxfel?
Kod: Markera allt
Dim A As Byte
Config Portb = Output
Config Portd = Input
Do
If Pind.1 = 1 Then Set Portb.1
Loop
End