Fórum témák
» Több friss téma |
Ezt sikerült összehoznom, ebből már kiindulhatsz.
Használd a kód gombot! -moderátor- A hozzászólás módosítva: Szept 13, 2013
Ja és itt van egy kis segédprogram.
Amik beállításában tud segítséget nyújtani: - Timer - USART - EUSART - PWM - ADC - Comparator Vref - LCD Custom character
Elnézést kérek, próbáltam használni. Viszont így eléggé zavaros a kommentek végén hiányzó idézőjel miatt. Ha pedig beraktam oda őket, akkor hiányzott a 42. sorban lévő "On High Interrupt" utasítás. Jó lenne, ha ki lehetne választani, hogy milyen kódot szeretnénk beilleszteni, mert így C kóddal biztos jó, de BASIC-el a fenti helyzet alakul ki...
Köszi a példaprogit...Írok hozzá egy kis LCD-s állítási lhetőséget és kipróbálom. Ma már "kinomban " a bevált Parsic progiból másoltam ki a jól használható TR1 modul ASM változatát. ASM-ként illesztettem be és a 877-en működött is. Viszont a 4520-s panelomon nem, ez gondolom a kibővített INTERRUPT és a bankváltások elmaradása miatt van.
Üdv...
Szia, kipróbáltam...működik...Kapcsolgatja a kimenetre kapcsolt Ledet. Átírtam az RC.2 re a kimenetet... mert ott van a ledem.
Az állítgatások közepette lefagy a villogás... Miért? ... vagy újra indul vagy nem. A fóprogramban hogyan tudom tiltani és engedélyezni?
Letiltani a úgy lehet, hogy kikapcsolod a TMR1 overflow megszakítást.
PIE1.TMR1IE = True 'Enables the TMR1 overflow interrupt Nem tudom, miért fagy le. Töltsd fel ide a forrást, hátha akkor látom mi a baj. De valószínűleg, a beállítások után alaphelyzetbe kell rakni a timert.
A legvalószínűbb ok, hogy a megszakítás kiszolgáló program(rész) nem törli a PIR1.TMR1IF jelézőbitet.
Pedig törölnie kell, hacsak valami miatt nem jut el addig a részig a program. Amíg nem derül ki, hogy mikkel bővítette ki a példát amit írtam, addig bármi lehet...
Sziasztok, koszi a segítségeket.
A beállításokból ha visszalépek a főprogramba, előtte a 'i' változót 0-ra állítom... így mindig rendesen az új értékekkel "jár"... Az engedélyezést is hamarosan kipróbálom...
Kipróbáltam a tiltás engedélyezést. A timer rutin jelzett funkció letiltásával megállt a timer
véletlenszerű kimeneti állapotban. Most a timerrel egy belső bitet kapcsolgatok és ezt engedélyezem az adott kimenetre ha kell. Ha tiltom akkor mindig 0 a kimenetem, mert nem a timer kapcsolgatja direkt a kimenetet. A hozzászólás módosítva: Szept 14, 2013
Az eeprom írás még nem f...a.
Az eepom írásom egy szubrutinban van. Eddig működött... Most letíltom a PIE1.TMR1IE = True... is előtte, utána engedélyezem, -nem őrzi meg a beálított értéket...
A PIE1.TMR1IE tiltásával a timer ugyanúgy megy tovább a háttérben, csak a megszakítás nem történik meg a túlcsorduláskor. A timer-t is megállíthatod (lehet hogy talán jobb is) a T1CON.TMR1ON tiltásával. Ha azt szeretnéd, hogy mindig 0 legyen a kimenet tiltáskor, és a visszaállításkor pedig megkapja az eredeti értéket, akkor a tiltás pillanatában le kell állítani a timer-t, el kell menteni a régi értéket, nullára állítani a kimenetet. Engedélyezésnél pedig fordítva, ha nem nulla volt a régi érték akkor a kimenetet 1-re állítani és a timer-t indítani.
Szóval nem menti el az értékeket az EEPROM-ba? Vagy milyen értékeket nem őriz meg? Ha megvan a Structured language support az IDE-hez, akkor inkább használj a szubrutinok helyett eljárásokat és függvényeket (Procedures, Functions). Átláthatóbb lesz az egész és sok mindent könnyebb megoldani velük.
Üdv Mindenkinek. Építettem egy lcd-s termosztát kapcsolást, amihez ezt a progit kell beégetni. Nekem 16f628a pic-em és ds18b20 szenzorom van. Ezekkel viszont hibás értékeket mutat. Tudna valaki segíteni, hogy mit mire kellene átírni hogy működjön?
A sikerhez vezető ut akkor lesz a legolcsóbb, ha beszerzel egy "olyant". A különbség az állítható felbontásban van, többek között...Ehhez, akár írnod is kell a szenzorba. ha ez a Basic program nem így van megírva elég "tökölős "lesz. vegyél 1820-t (pszt, Ebay 5db, 9$ waterprof,1m-kabel, free-shipping)
Köszi a tanácsokat. Az a helyzet, hogy egy kicsit már túlbonyolítottam a programot. (evés közben jött meg az étvágy). Több mindent másképp csinálnék már, ha újból nekiállnék. Már 950 sornál tartok...Az EEprom megoldódott, volt egy feltétel amivel ütközhetett. A nyomügomb nem oldódott meg. A D portot az LCD használja, esetleg ez lehet a gond? Csak akkor a 6-os miért jó, a 7-es meg miért nem? Van még egy másik gondom, a menű automata visszaugrás, Pl, egy perc elteltével, ha nem nyomok gombot. Ezt a PARSIC programmal 6 perc alatt megoldottam, de félek ezzel a struktúrával rámegy egy napom. Többszörös szurutin mélységben, hogyan tudom figyelni ezt? A timert azt átbabráltam már egy kicsit..
Még egy kis tanácsot kérnék. A timert (megszakitást?) akarom használni a menű visszaugrasztására is kb. fél perc után, ha nem nyomtunk billentyűt. A menű most a főprogramhoz képest akár 3 szint szubrutin is lehet. Az általad belinkelt rutint használom egy két kiegészítéssel.
Bocs! Eddig, csak felnézni volt időm, de válaszolni, csak most értem rá...
Ha már megoldottad, akkor tárgytalan. Talán valahogy úgy lehetne megoldani, hogy egy bitet a gomb megnyomásával 1-re kellene állítani. A számláló pedig növelne egy változót a fél percnek megfelelő értékig. Viszont minden növelésnél 0-ra állítaná a jelző bitet, ha ez a bit 0 marad a beállított értékig, akkor visszatérne a főmenübe. Ja és egy gomb megnyomásakor a változót is nullázni kell, tehát a fél perces időtartam újraindulna minden gombnyomáskor.
Az LCD esetleg beleszólhat, de nem hinném. Ki kell próbálni egy másik portra átrakni.
Köszi az ötleteket. A nyomógomb kezelés jobb lenne, ha a főprogramban lenne, mert így a berendezés le fog állni beállításkor. Egy kicsit át kell alakítanom a struktúrát, mert néhány megoldásra váró feladat nagyon macerás lesz, (legalább is számomra).
Sziasztok !
Segítséget szeretnék kérni soros portos kommunikációban. Adott egy példaprogram aminek csupán annyi dolga lenne hogy "a" változó értékét kiküldje soros porton, decimális, vagy hexa vagy a beállított formátumban. Sajnos csak mindenféle karakterek jelennek meg a PicBasic saját Serial Kommunikátorán és nem az elvárt változó értéke a az elvárt formátumban. Próbálkozásom a fájlmellékletben.
Sziasztok !
I2C buszos (24l512) EEPROM írásával van gondom. 21 bájtos tömböket (rekordokat) mentenék, majd visszaolvasnám. A program szépen működik, de minden 6-9. rekord hibásan rögzítődik. Ötlet ? Kösz mgy
Most látom, hogy a txt melléklet nehezen olvasható. Megismétlem rtf formátumban.
Érdekesség, hogy a hibák nem szabályosak és másik memória IC-vel is ismétlődnek. A 21. ellenörző bájtokkal kiküszöbölhető a hiba, de csak úgy, hogy egy blokkal odébb ismét mentek. A szék és a monitor között van a hiba ! Üdv mgy
Hello
Segitséget szeretnék kérni PICBASIC ügyben. Tudna-e valaki mintaprogramot , a PIC ( mondjuk 16F887 vagy PIC16877 stb) és a ENC28J60 hálózati adapter komunikációjára. Páldáuol a PIC elküld egy adatot ( számot, betüt) majd az elkerül a hálózatra.
Üdv!
Nem egy egyszerű dolog, de talán ebből el tudsz indulni: Link A link hozzászólás mellékletében van két darab projekt. Én sajnos csak ennyiben tudtam segíteni, talán akad valaki majd aki már foglakozott vele BASIC alatt.
Hasonlót csináltam most a melóhelyen csak Cerebot MX7CK panellel amiben PIC32 van meg LAN2780 Ethernet illesztő, kliens módban megy az adatokat php program dolgozza fel, ez egy kártyás beléptető rendszer ami az eseményeket küldi adatbázisba.
Üdv, érdeklődnék, hogy mikrobasic-ben hogy lehet azt megadni ha nem egy porton vannak a data lábai az LCD-nek?
tehát RB4 - RS RB5 - E RB6 - D4 RB7 - D5 A0 - D6 A1 - D7 Vagy csak egy porton lehetnek a data lábak? A hozzászólás módosítva: Feb 5, 2014
Kéne nekem még egy kis segítség
Úgy döntöttem hogy magam építem meg a vezérlőt is (több élvezet van így a dologban) de sajnos pic-et még mindig nem nagyon tok programozni. :-S Át rágtam magam 2-3 könyvön és az alapok meg vannak de még mindig nincs meg a teljes program kód Esetleg tud valaki egy könyvet ahol össze van gyűjtve a basic nyelvnek a pic programozás hoz szükséges parancs kódjai?? (ha lehet akkor magyarul meg az idegen nyelv nem az erőségem ) A válaszokat előre is köszi
Üdv!
Ha minden igaz akkor BASIC nyelvhez magyarul nem nagyon van ilyen könyv, mert ha a PC-s BASIC programozásból ismered a szintaktikát, akkor a PIC BASIC is menni fog. Az alap és a fontosabb parancsokat pedig a fejlesztőkörnyezet kézikönyve tartalmazza. A többi parancsot pedig a használt PIC adatlapjából kell kinézned, mert általában ugyan úgy van jelölve mint ott. Ráadásul ahány féle PIC BASIC, annyiféle szintaktika van. Van amelyik ténylegesen BASIC-re, van amelyik inkább a Pascalra, vagy az BASCOM-AVR-re hasonlít.
Hát nekem most az a legnagyobb bajom hogy a basickel kapcslatos könyvek amiket találtam azok mind visual basicesek amik kétlem hogy jók :-S
Pedig jók, mert megérted belőlük, a BASIC alapjait.
|
Bejelentkezés
Hirdetés |