Varför fungerar inte detta?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Mutiaz
Inlägg: 295
Blev medlem: 3 april 2004, 17:29:53

Varför fungerar inte detta?

Inlägg av Mutiaz »

Varför fungerar inte detta? (Det är Pic Basic och funktionen är att tända en LED med en knapp)

Kod: Markera allt

loop:

PORTB.4 = 0
PORTB.5 = 0
TRISB.5 = 1



IF PORTB.5 = 1 Then
PORTB.4 = 1
EndIF

GoTo loop

End
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Du upprepar ju hela tiden att PORTB.4 ska vara 0, sen kollar du om den ska tända och sen släcker den direkt igen. Flytta 'loop' till strax före 'if PORTB.5...'
Mutiaz
Inlägg: 295
Blev medlem: 3 april 2004, 17:29:53

Inlägg av Mutiaz »

Hurdå?

Såhär?

Kod: Markera allt


PORTB.4 = 0
loop:

PORTB.5 = 0
TRISB.5 = 1



IF PORTB.5 = 1 Then
PORTB.4 = 1
EndIF

GoTo loop

End
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Men hallåååå?

'Strax före' betyder på raden omedelbart innan eller hur :?:

Kod: Markera allt

PORTB.4 = 0
PORTB.5 = 0
TRISB.5 = 1
loop:
IF PORTB.5 = 1 Then
PORTB.4 = 1
EndIF
GoTo loop
End
Användarvisningsbild
karlstedt
EF Sponsor
Inlägg: 966
Blev medlem: 14 oktober 2003, 16:55:23
Ort: Lund
Kontakt:

Inlägg av karlstedt »

Inte för att jag vet vad detta är för språk men jag tycker inte koden verkar speciellt användbar?

Det går väl bara att tända dioden en gång och sedan är den tänd?
Mutiaz
Inlägg: 295
Blev medlem: 3 april 2004, 17:29:53

Inlägg av Mutiaz »

Jo det vet jag hehe.. Men det funkade inte..

Vad är fel?
Mutiaz
Inlägg: 295
Blev medlem: 3 april 2004, 17:29:53

Inlägg av Mutiaz »

Nu vet jag... Behövdes ett pulldownmotsånd sen funkade det kalas!
Mutiaz
Inlägg: 295
Blev medlem: 3 april 2004, 17:29:53

Inlägg av Mutiaz »

Hur gör man för att skifta mellan två texter med en knapp?
Alltså ex: ett tryck "Hej", två tryck "Goddag" tre tryck "Hej" igen ocksåvidare..

Kod: Markera allt

loop:

IF knapp = 1 Then
LCDOut $FE, 1 
LCDOut "Diplomat"
Pause 500

EndIF

IF knapp = 1 +1 Then
LCDOut $FE, 1 
LCDOut "Yazoo"
Pause 500

EndIF

GoTo loop
END
Detta funkar verkligen inte.. Man måste ha någon slags räknare tror jag..
Mutiaz
Inlägg: 295
Blev medlem: 3 april 2004, 17:29:53

Inlägg av Mutiaz »

Är det ingen som har ett exempel på en lätt räknare som vid ett tryck är 1 och vid nästa tryck är 2 och vid nästa 1 osv i picbasic?
Användarvisningsbild
jack
EF Sponsor
Inlägg: 2059
Blev medlem: 5 oktober 2004, 17:32:27

Inlägg av jack »

Kolla upp BUTTON-funktionen.
Mutiaz
Inlägg: 295
Blev medlem: 3 april 2004, 17:29:53

Inlägg av Mutiaz »

Ja det har jag men jag fattar inte särskilt mkt av den...
Mutiaz
Inlägg: 295
Blev medlem: 3 april 2004, 17:29:53

Inlägg av Mutiaz »

Detta funkade annars utmärkt!
Tack mullemeck för hjälpen!

Kod: Markera allt

 IF knapp = 1 Then 
	IF tmp = 1 Then 
		tmp = 2 
	Else 
		tmp = 1 
	EndIF 
EndIF
Skriv svar