nekem is ez a véleményemkapu48 írta:Kezdésnek túl nagy fába vágtad a fejedet! (Akarom mondani a billentyűzetedet!)![]()
Többek között először be kellene gyakorolni a szimulátor használatát!
Azon nyomon tudnád követni, mikor mi történik!
De csak kérdez, ha tudunk segítünk! Különben még mi sem tudunk mindent! És ismétlés a tudás öreganyja!
Időzítés bascom alatt
Mondjuk ez:
If Ido =< 50 Then
Set Portc.0 'led bekapcsolása
Else
Reset Portc.0 'led kikapcsolása
End If
Így szebb lenne:
If Ido < 51 Then
Toggle Portc.0 'led állapot váltása
End If
De még szebb lenne csak így:
Case 254 : If Ido < 51 Then Toggle Portc.0 'led állapot váltása
Ha ez bemenet:
Config Portd.0 = Input
Akkor: Set Portd.0 Bekapcsolja a bemeneti felhúzó ellenállást. Ez biztosítja, hogy ne lebegjen a bemenet!
Ennek viszont itt nem sokk értelme van: Reset Portd.0

Viszont az egész folyamat logikája nem eléggé átgondolt!
Inkább erre kellene több figyelmet fordítani! Nem a sokk felesleges Sub rutinra!

If Ido =< 50 Then
Set Portc.0 'led bekapcsolása
Else
Reset Portc.0 'led kikapcsolása
End If
Így szebb lenne:
If Ido < 51 Then
Toggle Portc.0 'led állapot váltása
End If
De még szebb lenne csak így:
Case 254 : If Ido < 51 Then Toggle Portc.0 'led állapot váltása
Ha ez bemenet:
Config Portd.0 = Input
Akkor: Set Portd.0 Bekapcsolja a bemeneti felhúzó ellenállást. Ez biztosítja, hogy ne lebegjen a bemenet!
Ennek viszont itt nem sokk értelme van: Reset Portd.0
Viszont az egész folyamat logikája nem eléggé átgondolt!
Inkább erre kellene több figyelmet fordítani! Nem a sokk felesleges Sub rutinra!
Hello,herc1234 írta:Kód: Egész kijelölése
$regfile = "m8def.dat" $crystal = 4000000 $hwstack = 64 $swstack = 64 $framesize = 80 'ezek ugye itt a gombok Config Portd.0 = Input Config Portd.1 = Input Config Portd.2 = Input Config Portd.3 = Input 'ez lesz itt a számláló 'mivel 16 bites const Timer1Reload = 3036 '3036on kell állnia a számlálónak egy másodperchez config timer1=timer,prescale = 64 'timer1 -et kinevezzük timernek előosztás 64 load timer1 , Timer1Reload 'a 3036 betőltjük a timer1 be
Szegény embernek magyarázzatok is, hogy mi miért van.
No leírom én:)
Szóval a timer-eknél és máshol is, van elősztás. Ez adott érték lehet.
Ezzel a számmal lesz elősztva az órajeled. Itt tessék odafogyelni, hogy van olyan proci ami eleve tud 8-as osztást ha azt a fuse biteknél beállítod. Ez 8 szokott lenni. Itt most nincs.
Szóval a Timer 1 az egy 16 bites számlánc aminek a max értéke 65536 lehet. 2 ^16 .Eddig képes elszámolni. Amikor eléri ezt az értéket akkor jön az interrupt ha az be van kapcsolva, és meg van adva, hogy milyen cimkére ugorjon! Ezek is megvannak, lépjunk.
Minden óraciklusban 1-el növekszik a számlánc. A kérdés az, hogy honnan kell indulnia adott órajel mellett, hogy mire a végére ér 1mp teljen el!
Azt a következő módon tudod meghatározni. Egy dologra kell figyelni, hogy mikor van még Hz-ben a dolog mikor időben. Ehhez az alábbi képlet kell f=1/T.
No kezdjÜk
4000000/64 = 62500 Hz Ez lesz a valódi órajele a timer1 nek. Mivel a "fő" órajelet osztod az elősztással. Ezt áttesszük időbe. A képlet alapján T=1/f
1/62500 =0,000016 s . Ez a legkisebb idő amit megtudsz "mérni". Magyarul ennyi idő alatt lép egyet a számlánc. Most az kell, hogy Te mekkora időt szeretnél mérni. Jelen esetben 1 s-ot. Akkor meg kell nézni, hogy az elemi idő hányszor van meg az általad mérni akart időben. 1/0,000016 = 62500. Mivel 1 s-ot akarsz mérni visszakapod az előző értéket, de ez nem törvényszerű. Ez az a szám, ameddig képes elszámolni a Timer 1s alatt. Mint mondtam a megszakítás akkor következik be ha a számlánc elérte a 65536-ot. Ergo az előző számot ebből ki kell vonni. 65536-62500=3036. Ez nem mindíg jön ki kerek számra.
Ezt kell indulási értéknek megadni, ahogyan ezt láthatod. Innen kezd el pörögni a lánc! Arra figyelj hogy amikor a program elugrik a megszakítási cimkére ott az legyen az első, hogy ezt az értéket beírod a számláncba ismét.
Remélem ezután tiszta, hogy "Hogy is van ez?"
További jótanács. Használj a be- kimeneteknél aliast.
Áttekinthetőbb lesz a progid, és ha portot cserélsz akkor egy helyen kell átírni a dolgot.
pl:
gomb1 alias pind.0
led1 alias pinb.0
config gomb1 = input
config led1 = output
By
Kn
A hozzászólást 2 alkalommal szerkesztették, utoljára kovacsna 2009. március 12. csütörtök, 9:57-kor.
- elektromos
- Bitmanipulátor
- Hozzászólások: 101
- Csatlakozott: 2008. július 30. szerda, 6:00
No egyre érdekesebb dolgokat írtok!
Tényleg azt hittem, hogy a nyomógomb kezelés ilyen egyszerű, de látom máshonnét kell kezdenem! Kipróbáltam,és müködött is herc1234
komoly kis programja, de szemmel láthatólag ugyanazt csinálta, mint amit én előzőleg feltettem, csak kevesebb utasítással. Nekem valami egyszerübb kezdet kell, az alapoktól kezdve, mert sok minden magas nekem amit írtok, de utánna nézek a neten a fogalmaknak, és keresek valami kezdőknek való könyvet! Ti akik ilyen profik vagytok, nem gondoltatok még arra, hogy készítsetek egy teljesen kezdőknek való leírást, az elejétől a komoly programokig? Szerintem lenne rá igény, mert nem mindenki jár főiskolára, meg egyetemre, és a kezdőknek aranybánya lenne egy ilyen leírás. Akár az általam kezdett topikban, vagy nyitnátok egy kezdők tanfolyama cím alatt egy új topikot! Ti miből kezdtétek? Hátha nekem is nagy segítség lenne!
Tényleg azt hittem, hogy a nyomógomb kezelés ilyen egyszerű, de látom máshonnét kell kezdenem! Kipróbáltam,és müködött is herc1234
komoly kis programja, de szemmel láthatólag ugyanazt csinálta, mint amit én előzőleg feltettem, csak kevesebb utasítással. Nekem valami egyszerübb kezdet kell, az alapoktól kezdve, mert sok minden magas nekem amit írtok, de utánna nézek a neten a fogalmaknak, és keresek valami kezdőknek való könyvet! Ti akik ilyen profik vagytok, nem gondoltatok még arra, hogy készítsetek egy teljesen kezdőknek való leírást, az elejétől a komoly programokig? Szerintem lenne rá igény, mert nem mindenki jár főiskolára, meg egyetemre, és a kezdőknek aranybánya lenne egy ilyen leírás. Akár az általam kezdett topikban, vagy nyitnátok egy kezdők tanfolyama cím alatt egy új topikot! Ti miből kezdtétek? Hátha nekem is nagy segítség lenne!
Kezdőknek való könyvek - sajnos - nem egységesek. Itt súlyosbító körülmény, hogy a programozást _és_ az elektronikát is egyszerre kell tanítani
.
Pláne Basicból ilyet találni nehéz lesz. Itt a 80-as évek TVBasic, és egyéb programozási könyveit tudnám javasolni. Igaz ez némi megkötéssel van csak. Ugye ott PC nem volt, csak Sinclair ZXSpectrum, C64 a beépített Basic fordítóval.
Az alapkülönbség: Print, Input az alap . Itt meg LED ki/LED bekapcs....
Egy könyv azért nem kis munka....
És kereslet hiába van rá, spec terület, spec nyelv.
Angollal hogy állsz?
Bascom with Ease. PDFként is helyenként elérhető.
Illetve az Arduino/Processing könyvek (igaz ez C-re (arduino) megy rá), de jól felépítettek is vannak...
Ezek a könyvek magyar nyelven, nyomtatva ~8-10.000 eFt körül lennének.... Ez az a katagória, amit nem lehet már megfinanszírozni. 3-5eFt is soknak tűnik sokaknak. Pedig ez nem is az a egetverő kategória...
Pláne Basicból ilyet találni nehéz lesz. Itt a 80-as évek TVBasic, és egyéb programozási könyveit tudnám javasolni. Igaz ez némi megkötéssel van csak. Ugye ott PC nem volt, csak Sinclair ZXSpectrum, C64 a beépített Basic fordítóval.
Az alapkülönbség: Print, Input az alap . Itt meg LED ki/LED bekapcs....
Egy könyv azért nem kis munka....
És kereslet hiába van rá, spec terület, spec nyelv.
Angollal hogy állsz?
Bascom with Ease. PDFként is helyenként elérhető.
Illetve az Arduino/Processing könyvek (igaz ez C-re (arduino) megy rá), de jól felépítettek is vannak...
Ezek a könyvek magyar nyelven, nyomtatva ~8-10.000 eFt körül lennének.... Ez az a katagória, amit nem lehet már megfinanszírozni. 3-5eFt is soknak tűnik sokaknak. Pedig ez nem is az a egetverő kategória...
- elektromos
- Bitmanipulátor
- Hozzászólások: 101
- Csatlakozott: 2008. július 30. szerda, 6:00
Erre írtam hogy wiki kell a bascom-nak.
simán végigmenni a parancsokon is baromi nagy segítség.
Viszont ami az alap mű basciből az a ENTERPRISE (nem tom jól írom e)
teknőcös magyarnyelvű könyve.Legalábbis engem régen már
olvasni tudó koromban(gépem nem volt hozzá sajna)indított el
ezen rögös úton.
ui:Különben meg ez a select case bascom kézikönyv mintha
változott volna már az 1.3-ban és kicsit több információra emlékszem
az elöző verziókban.Tényleg ezt valaki észrevette már hogy kurtítják
a könyvet?
simán végigmenni a parancsokon is baromi nagy segítség.
Viszont ami az alap mű basciből az a ENTERPRISE (nem tom jól írom e)
teknőcös magyarnyelvű könyve.Legalábbis engem régen már
olvasni tudó koromban(gépem nem volt hozzá sajna)indított el
ezen rögös úton.
ui:Különben meg ez a select case bascom kézikönyv mintha
változott volna már az 1.3-ban és kicsit több információra emlékszem
az elöző verziókban.Tényleg ezt valaki észrevette már hogy kurtítják
a könyvet?
„miért nem írsz akkor te is egyet ?
de nem használhatsz subrutint
hidd el a lineáris programozás elavult..”
Szubrutint csak akkor érdemes írni, ha azt több helyről is meghívjuk!
Esetleg ha olyan nagy méretű, hogy széthúzza a programunkat!
De egyetlen csak 1 helyről hívott If utasításért felesleges 2db ugrással megnyújtani és áttekinthetetlenné tenni a programot!

de nem használhatsz subrutint
hidd el a lineáris programozás elavult..”
Szubrutint csak akkor érdemes írni, ha azt több helyről is meghívjuk!
Esetleg ha olyan nagy méretű, hogy széthúzza a programunkat!
De egyetlen csak 1 helyről hívott If utasításért felesleges 2db ugrással megnyújtani és áttekinthetetlenné tenni a programot!
Sziasztok ! Egy nagyon kezdő kérdésem lenne, előre is elnézést a profiktól.Tehát a kérdés: Örököltem egy STK500 panelt és megkértek égessek kész programot vele Atmega8535 kontrollerbe. Rendelkezésre áll a *.hex, *.obj, *.asm file is. Belehelyeztem STK500-ba az Atmega8535, tápot adtam a panelnak, összekötöttem a PC-vel, elindítottam az AVR prg-t. Kiválasztottam a *.hex filét a hozzávaló kontrollert, mindent felismert, minden OK. Amikor a Program gombot lenyomom mindig azzal az üzenettel áll le, hogy programing mode FAILED. A status LED sárga, mellette a prg gomb lenyomása után azonnal a piros világit. Mit lehet tenni ilyenkor?
Üdv.:Unándi
Üdv.:Unándi
- elektromos
- Bitmanipulátor
- Hozzászólások: 101
- Csatlakozott: 2008. július 30. szerda, 6:00
Lenne egy ötletem, de mindenkinek kellene a segítsége! Látszik többen vagytok, és ugyanazt a feladatot többféle módon is meg tudjátok csinálni.
Ezért arra gondoltam, hogy ti is tanulhattok egymástol is, mert ahány ember, annyi szokás, és pont ez a jó benne! Én ha tennék fel egy rajzot és hozzá pár kérést, azt meg csinálnátok? Először ara gondoltam, hogy hogyan lehetne látványosan kezdeni. Én is boldog voltam, mikor villogó progit betöltöttem, és az villogot is. Tudom ti már messze vagytok ettől, de valószínű ti is a kicsi progikkal kezdtétek. Gondoljatok bele, ha valaki más kezdő is eljut ide, milyen boldog lesz, mert lát kézzel fogható egyszerű kis programokat kikommentezve, és elmagyarázva, mint idáig is tettétek páran. Tudom időt rabol el mindenkitől, és milliomosok sem lesztek belőle, de büszkén visszanézhettek majd ide később és örülhettek , hogy segítettetek sok száz, vagy 1000 kezdőnek. Pic-el azért nem foglalkoztam, mert basic nyelvet alig használ 1-2 emberke, és a segítség mindig az volt , hogy tanuljam inkább ASM-et. Persze nekik is igazuk van, de oda már gépi agy kell! Tehát benne vagytok akkor kezdhetünk? Persze bíráljatok felül ha ez hülyeség amit írok, , mert a Ti ötleteteket is várom ebben a kezdőknek való témában!!!
Ezért arra gondoltam, hogy ti is tanulhattok egymástol is, mert ahány ember, annyi szokás, és pont ez a jó benne! Én ha tennék fel egy rajzot és hozzá pár kérést, azt meg csinálnátok? Először ara gondoltam, hogy hogyan lehetne látványosan kezdeni. Én is boldog voltam, mikor villogó progit betöltöttem, és az villogot is. Tudom ti már messze vagytok ettől, de valószínű ti is a kicsi progikkal kezdtétek. Gondoljatok bele, ha valaki más kezdő is eljut ide, milyen boldog lesz, mert lát kézzel fogható egyszerű kis programokat kikommentezve, és elmagyarázva, mint idáig is tettétek páran. Tudom időt rabol el mindenkitől, és milliomosok sem lesztek belőle, de büszkén visszanézhettek majd ide később és örülhettek , hogy segítettetek sok száz, vagy 1000 kezdőnek. Pic-el azért nem foglalkoztam, mert basic nyelvet alig használ 1-2 emberke, és a segítség mindig az volt , hogy tanuljam inkább ASM-et. Persze nekik is igazuk van, de oda már gépi agy kell! Tehát benne vagytok akkor kezdhetünk? Persze bíráljatok felül ha ez hülyeség amit írok, , mert a Ti ötleteteket is várom ebben a kezdőknek való témában!!!
- elektromos
- Bitmanipulátor
- Hozzászólások: 101
- Csatlakozott: 2008. július 30. szerda, 6:00
