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.
Založen: May 31, 2009 Příspěvky: 125 Bydliště: Povazie,SK
Zaslal: čt srpen 16 2012, 20:29 Předmět:
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
Založen: Jul 27, 2004 Příspěvky: 4519 Bydliště: 25km na západ od Prahy
Zaslal: čt srpen 16 2012, 20:36 Předmět:
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.
Založen: May 31, 2009 Příspěvky: 125 Bydliště: Povazie,SK
Zaslal: čt srpen 16 2012, 20:54 Předmět:
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
Založen: Jul 27, 2004 Příspěvky: 4519 Bydliště: 25km na západ od Prahy
Zaslal: čt srpen 16 2012, 21:09 Předmět:
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.
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?
Založen: Jul 27, 2004 Příspěvky: 4519 Bydliště: 25km na západ od Prahy
Zaslal: čt srpen 16 2012, 21:54 Předmět:
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. Proto tady loudím moudra. _________________ Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.
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.
Založen: Jul 27, 2004 Příspěvky: 4519 Bydliště: 25km na západ od Prahy
Zaslal: čt srpen 16 2012, 22:21 Předmět:
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.
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
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.