registrera en hel funktion i Mikrobasic

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Murre
Inlägg: 30
Blev medlem: 2 januari 2005, 00:31:02

registrera en hel funktion i Mikrobasic

Inlägg av Murre »

Kan man registrera en hel If funktion så man bara kallar den typ "sw1" i en loop. Istället för att skriva in hela if formeln på flera ställen i loopen?
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Du lägger if-satsen i en subrutin och sen kallar du på subrutinen (gosub) när du vill utföra if-testet.
Murre
Inlägg: 30
Blev medlem: 2 januari 2005, 00:31:02

Inlägg av Murre »

Ungefär hur ser en sådan ut?
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Har du ensa kollat i manualen innan du ställer dina frågor?
http://www.mikroe.com/pdf/mikrobasic/mi ... manual.pdf
s.52
Murre
Inlägg: 30
Blev medlem: 2 januari 2005, 00:31:02

Inlägg av Murre »

Ursäckta mig då. Men jag hade missat det annars har jag kollat. vill ju inte besvära någon i onödan.
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Man lär sig oftast mer, bättre och mer bestående om man har läst, funderat och provat _innan_ man frågar....
Murre
Inlägg: 30
Blev medlem: 2 januari 2005, 00:31:02

Inlägg av Murre »

Jo men till och börja med handlade det om ifall get gick. sedan handlade det om hur. givet vis har jag kollat manualen och testat. Men det funkar fortfarande inte.
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Ett tips som får oss på "gladare" humör och samtidigt gör det lättare för oss att hjälpa dig är att du klistrar in ett minialt med fortfarande komplett exempel av det du provat. Fler än 20-30 rader är för långt, de flesta nybörjarproblem borde kunna reduceras ner till max 10 rader kod. På så sätt kan vi lättare peka på vad felet är.

Tala samtidigt om vad du _förväntar_ dig för utresultat och vad det är som _verkligen_ händer när du provar att köra programmet.
Murre
Inlägg: 30
Blev medlem: 2 januari 2005, 00:31:02

Inlägg av Murre »

sub procedure sw1 ' Här blir det fel
If PortA.0 = 1 Then
goto effect1
else return
End If

end sub

Här e den. tanken är att jag bara ska lägga in sw1 i en loop istället för hela if formeln så om jag trycker på någon knapp ska loopen avbrytas och en annan ska på börgas. Vill du ha mer av koden så bara säg till.
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Kod: Markera allt

main:
...
gosub check_btn
...
goto main

check_btn:
if porta.0 = 1 then
  goto effect1
endif

return
end
Såhär kanske? Jag har inte provat kompilera den.
Skriv svar