Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

mikroBasic úprava programu-kde dělám chybu?

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
hafca



Založen: Jul 27, 2004
Příspěvky: 4519
Bydliště: 25km na západ od Prahy

PříspěvekZaslal: čt srpen 16 2012, 18:50    Předmět: mikroBasic úprava programu-kde dělám chybu? Citovat

Zkoušel jsem si upravit zdroják pro hodiny v Basicu. Chtěl jsem si mimo jiné udělat signalizaci po čtvrt hodině, ale nedaří se mi. Ve For To Next mi program nedopočítá do 4, ale jen do 2. Zkoušel jsem ještě jiné počítání, odskoky přes Goto, ale to taky nejde. Začínám mít pocit, že to program prostě nestihne.
Nenašla by se tu nějaká dobrá duše, co by mě popostrčila nebo mi řekla, že to opravdu nejde?

citace:
If Minute = 00 Or Minute = 15 Or Minute = 30 Or Minute = 45 Or Test = AAN Then GongSignal
EndIf
.
.
.
GongSignal:
If LDR = On Then ;If there is daylight or the shadedlamps are switched on, then...
Low Volume ;...Volumepin low = Volume from gong louder...
Else ;...else (is it dark in the living-room)...
Input Volume ;...Volumepin 3-state = Volume from gong softly
EndIf

DelayMS 155
If Minute = 00 Then GoSub zvon00
If Minute = 15 Then GoSub zvon15
If Minute = 30 Then GoSub zvon30
If Minute = 45 Then GoSub zvon45

SecondPulse = On
DelayMS 50
Gong1 = OFF
Gong2 = OFF
SecondPulse = OFF
DelayMS 330 ;985 - 500 - 155
Inc Second

; When using the method underneath (with time instead of LDR), then erase the LDR syntax part above
; IF Hour > 5 THEN ;Between 0:30 and 6:30 is the gong volume not loud
; LOW Volume ;Volumepin low = Volume louder
; ELSE
; INPUT Volume ;Volumepin 3-state = Volume softly
; ENDIF
GoTo Further
.
.
.
zvon00:
For go=0 To 4
Gong1 = On
DelayMS 700
Next
Return

zvon15:
Gong1 = On
Return

zvon30:
For go = 0 To 2
Gong1 = On
DelayMS 700
Next
Return

zvon45:
For go = 0 To 3
Gong1 = On
DelayMS 700
Next
Return
.
.
.

_________________
Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
ivanko18



Založen: May 31, 2009
Příspěvky: 125
Bydliště: Povazie,SK

PříspěvekZaslal: čt srpen 16 2012, 19:43    Předmět: Citovat

ako mas definovane DIM pre go ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
hafca



Založen: Jul 27, 2004
Příspěvky: 4519
Bydliště: 25km na západ od Prahy

PříspěvekZaslal: čt srpen 16 2012, 19:57    Předmět: Citovat

Opsal jsem to podle jiných deklarací v programu.
kód:
Dim go As Byte

_________________
Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
ivanko18



Založen: May 31, 2009
Příspěvky: 125
Bydliště: Povazie,SK

PříspěvekZaslal: čt srpen 16 2012, 20:29    Předmět: Citovat

citace:
If Minute = 00 Or Minute = 15 Or Minute = 30 Or Minute = 45 Or Test = AAN Then GongSignal

problem bude asi tu
skus to rozpisat
citace:
If Minute = 00 Or Test = AAN Then GongSignal
If Minute = 15 Or Test = AAN Then GongSignal
If Minute = 30 Or Test = AAN Then GongSignal
If Minute = 45 Or Test = AAN Then GongSignal

ps:s PIC nepracujem a picbasic nepoznam
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
hafca



Založen: Jul 27, 2004
Příspěvky: 4519
Bydliště: 25km na západ od Prahy

PříspěvekZaslal: čt srpen 16 2012, 20:36    Předmět: Citovat

Tahle část funguje, program zavolá podprogramy správně. Nejde to počítání.
_________________
Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
ivanko18



Založen: May 31, 2009
Příspěvky: 125
Bydliště: Povazie,SK

PříspěvekZaslal: čt srpen 16 2012, 20:54    Předmět: Citovat

citace:
DelayMS 155
If Minute = 00 Then GoSub zvon00
If Minute = 15 Then GoSub zvon15
If Minute = 30 Then GoSub zvon30
If Minute = 45 Then GoSub zvon45


nechyba ukoncenie

citace:
DelayMS 155
If Minute = 00 Then GoSub zvon00
If Minute = 15 Then GoSub zvon15
If Minute = 30 Then GoSub zvon30
If Minute = 45 Then GoSub zvon45
EndIf


alebo takto

citace:
DelayMS 155
If Minute = 00 Then GoSub zvon00
EndIf
If Minute = 15 Then GoSub zvon15
EndIf
If Minute = 30 Then GoSub zvon30
EndIf
If Minute = 45 Then GoSub zvon45
EndIf
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
hafca



Založen: Jul 27, 2004
Příspěvky: 4519
Bydliště: 25km na západ od Prahy

PříspěvekZaslal: čt srpen 16 2012, 21:09    Předmět: Citovat

To jsem tam zkoušel, ale překladač hází při kompilaci chybu.
_________________
Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
ivanko18



Založen: May 31, 2009
Příspěvky: 125
Bydliště: Povazie,SK

PříspěvekZaslal: čt srpen 16 2012, 21:13    Předmět: Citovat

tak potom neviem....
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: čt srpen 16 2012, 21:29    Předmět: Citovat

Jak víš, že ti to napočítá jen do 2? A nemáš ty počty nějaké divné? Při 15 nemáš nic, při 30 máš 2100 ms, při 45 máš 2800 ms a při 00 máš 3500 ms. A neutečou ti tři sekundy, když se tam šmrdláš 3,5 sekundy v podprogramu?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
hafca



Založen: Jul 27, 2004
Příspěvky: 4519
Bydliště: 25km na západ od Prahy

PříspěvekZaslal: čt srpen 16 2012, 21:54    Předmět: Citovat

Jak to vím? Spouští to pípák z SA0800 a ten by měl podle mého přání pípnout při 15 minátách 1x, při 30 2x, při 45 3x a při celé 4x. Taková byla moje idea, ale zatím mi pípne max. 2x, bez ohledu na to, kolik minut je. Správně pípá jen ve 1/4 a v 1/2. Měl jsem za to, že se spustí podprogram, pošle impuls na PORTA.2, zazní tón a aby stačil zaznít je tam to čekání, smyčka začne znovu atd.. Při 1/4 stačí jen ten jeden impuls a to čekání je o kousek níž. Teď vidím, že mi tam vypadla jedna 0, ale na to počítání vliv nemá.
Myslel jsem si, že při splněné podmínce zavolám podprogram, ten proběhne, vrátí se odkud byl zavolán a všechno pokračuje dál.
Asi to tady bude o něco složitější než když jsem kdysi psal programy v Basicu pro Atari. Navíc jsem toho z Basicu od té doby dost zapoměl, tedy spíš skoro všechno. Cry Proto tady loudím moudra. Wink

_________________
Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: čt srpen 16 2012, 22:04    Předmět: Citovat

Podle mě příkaz Gong1 = On neposílá žádný impuls, ale nastaví ho na 1 a tam zůstane, dokud ho někde jinde nedáš do 0 a to děláš až po návratu ze zvonXX, takže ti ten pípák bude celou tu dobu zpoždění kontinuálně pískat, žádné přerušování.
Mimochodem, celej ten program je pěkně hnusnej.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
hafca



Založen: Jul 27, 2004
Příspěvky: 4519
Bydliště: 25km na západ od Prahy

PříspěvekZaslal: čt srpen 16 2012, 22:21    Předmět: Citovat

Já to nepsal, jen našel a posoudit to moc nedokážu. Mě se na tom líbilo to DCF a možnost úpravy v tom zdrojáku. To jsem ale netušil, že to bude takovej oříšek.
S tou 1 máš pravdu. Ten pípák když vyndám PIC a na vývod od PORTA.2 přivedu + pípá nepřetržitě. Budu to tedy v každém cyklu muset shodit na 0 tím Gong Off, jestli se nepletu.

Děkuji za nakopnutí a přeji dobrou noc.

_________________
Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.31 sekund