Fórum témák

» Több friss téma
Fórum » PIC BASIC
 
Témaindító: hinar_, idő: Máj 7, 2008
Témakörök:
Lapozás: OK   4 / 23
(#) brato válasza hpmaster hozzászólására (») Márc 22, 2010 /
 
Igen, mindaddig végrehajtja az egymás után következő sorokat amíg nem találkozik ugró utasítással vagy gosub esetén return utasítással.
A cimkékhez bármikor lehet ugrani, de neked kell gondoskodni arról, hogy a rutinból a megfelelő helyen kilépjen.
(#) hpmaster válasza brato hozzászólására (») Márc 22, 2010 /
 
Köszi szépen kolega úr, kezd tisztulni a dolog. Gondolom, ha a cimke végénél talál return-t, akkor ott holytatja a futást, ahonnan az adott cimkéhez kellett ugrania.
(#) brato válasza hpmaster hozzászólására (») Márc 22, 2010 /
 
Igazából a basic nyelvek 3 féle ugró utasítást használnak,
GOSUB - subrutinhívás vagy END SUB -ig megy vagy a RETURN -ig.

GOTO - feltétlen ugrás a megadott cimkére vagy sorra.

CALL - subrutinra vagy cimkére ugrás RETURN -ra vissza a hívás utáni sorra.

Az adott feladat szerint kell kiválasztani a megfelelőt.
(#) brato válasza hpmaster hozzászólására (») Márc 22, 2010 /
 
Esetleg próbáltad már a PROTON IDE programot?
Igen kényelmes basic felülete van.
(#) hpmaster válasza brato hozzászólására (») Márc 22, 2010 /
 
Eddíg én Bascom-al programoltam AVR-eket sikeresen. Bonyolultabb vezérléseket is sikeresen összehozva.
Eddíg PIC-el nem bajlódtam, gondoltam arra megvannak a megfelelő emberkék. Ám most úgy adódott, hogy a jelenlegi melóhelyemen egy más áltam picbasic-ben vagy hasonlóban összehozott progit kell befoltoznom. Nehezen akadtam rá mindenre a témát illetően, és mint látszik, még mindíg vannak vakfoltok. Haladok a dologgal, de nagyon nehezen átlátható ez az egész program:S

Ha valakinek AVR-el kapcsolatban lenne kérdése basic programozás terén, akkor tudnék segíteni, mert abban otthon vagyok és épp ezért volt egy kis homályom ehhez is. Lesz még kérdésem nem titok, de igyekszem mindenre magam rájönni.

A cimkék kezelését illetően sokat segytettél, köszönöm mégegyszer. Most pl az SPI busz kezelését nézegettem, de az még egy nagy homály. Tudom, hogy a PIC18EXT.BAS fájlban vannak az egyes eszközök kezeléséhez való regiszterek, de nem tudom hogy kell őket használni.
De ez egy másik történet, ezt majd máskor aszem.
(#) hpmaster válasza brato hozzászólására (») Márc 22, 2010 /
 
Most egy olyannal nyomom, hogy MicroCode Studio Plus ver:3.0.0.5
(#) hpmaster válasza brato hozzászólására (») Márc 23, 2010 /
 
Na, kolega úr, most szedtem le a PROTON IDE 1.0.4.6 + PROTEUS 7.1 sp4-et.
Ám a proton azt mondja fordításkor, hogy:
ERROR: Not enough user RAM for all the variables used. Reduce the amount, or switch to a larger device.
(#) hpmaster válasza hpmaster hozzászólására (») Márc 23, 2010 /
 
Stimm. Az a baj, hogy nem 18F452-es pic van kiválasztva, hanem sztem az alap 16F84-es. De hogy tudom átállítani? Vagy a kódból automatice tudnia kellene, hogy milye divájsz kell?
(#) brato válasza hpmaster hozzászólására (») Márc 23, 2010 /
 
Ezekkel az utasításokkal lehet a céltipust beállítani:

Device 16F628A 'PIC tipus
XTAL = 4 'Quartz frekvencia MHz
Config XT_OSC , WDT_OFF , PWRTE_OFF , BODEN_OFF , LVP_OFF , PWRTE_OFF , CP_OFF

értelemszerűen írd át a megfelelő dolgokat.
(#) mgy válasza brato hozzászólására (») Márc 24, 2010 /
 
Jelenleg a PBP 2.47-es verziót használva próbálom a 16f887-es analóg bemeneteit használni.
A 877-nél működő dolgok a 887-nél nem jönnek össze.
Próbáltam az ANSEL és az ADCON1, ADCON2 dolgokat beállítani, de valahol tévedek.
Mellékelek egy egyszerű programlistát, ha valaki kapásból kiszúrja a hibáimat, megköszönném.

PRÓBA.txt
    
(#) brato válasza mgy hozzászólására (») Márc 25, 2010 /
 
A 887-est nem ismerem, ha lesz időm átnézem az adatlapját hátha sikerül valamit kiokoskodni belőle.
(#) vilmosd válasza mgy hozzászólására (») Márc 25, 2010 / 1
 
Hali
Ez a program nem teljesen jo. Tobb hibaja van. Pl : Be kellene kapcsolni az AD-t. ADCON0.0 =1. Be kell minden mereskor rugni az AD-t: ADCON0.1 =1 majd megvarni mig a meres vegen 0 lesz. Minden meres indulaskor at kell valtani a kivant csatornara, es varni egy kicsit a mintavetelezes idejere( 50 uS). Igaz nem tudom mit csinal az altalad hasznalt ADCIN fv. , de igy biztos hogy mukodni kell a '887-en. A neten talalhato mintaprogram : rentron AD progi. Probald meg atalakitani, mert ez '877-re irtak.
Udv Vili
(#) mgy válasza vilmosd hozzászólására (») Márc 27, 2010 /
 
Köszi a segítséged !
Amit ajánlottál programot, az jó lett volna, de nem a PICBASIC ADCIN utasítását használja.
Ezért könnyű a műkedvelőknek (nekem) a PBC, mert ezeket az ADCON bitfigyeléseket maga megoldja, és egy lekéréssel adja a regisztertartalmat.
Ehhez viszont jól kell beállítani a DEFINE ADC funkciókat, ahol én tévedtem a 877-hez képest.

Csodálkozom azon, hogy ez a topic nem népszerű, pedig a PBP alkalmas arra, hogy kezdők is hamar tudjanak boldogulni.

Szivesen felvenném a kapcsolatot PBP-hívőkkel.

Mellékelem azt a pársoros programot, mellyel egy analóg lekérdezés megvalósítható.

887an.txt
    
(#) hpmaster hozzászólása Ápr 6, 2010 /
 
Tiszteletem Kolega Urak!

Kérdés csak annyi, hogy ha több picet teszek egy panelra, akkor lehet egy közös programozó csatija mindnek, ha az MCLR lábakat egy jumper sorra vezetem ki és egy juperrel lehet kiválasztani, hogy melyiket akarom programozni.
Gondolom, hogy ha íly módon, csak egy egyik pic MCLR lába van bekötve, akkor a többi figyelmen fívül hagyja a programozási periódust...
(#) t-dani válasza hpmaster hozzászólására (») Ápr 6, 2010 /
 
Arra azért majd gondolj, hogy a soros programozói vonalakat (PGD és PGC) nem lehet csak úgy összekötni egymással, hiszen mi van akkor, ha több PIC-ben már éppen program fut és többnél ezek a lábak kimenetnek vannak konfigurálva.
(#) hpmaster hozzászólása Ápr 14, 2010 /
 
Tiszteletem Urak!

Lenne egy olyan kérdésem, hogy ebben a PICbasic Pro-ban a PIC18EXT.bas fájlhoz nincs-e valami leírás?
Mert látom, hogy az abban lévő változók egyes bitjeinek állapotával lehet eszközöket működtetni. De nem tudom, hogy hogyan?

Pl: mi az INTCON, INTCON1, INTCON2 és INTCON3?

de ugyanez a szitu a többi benne lévő dologgal is.
Ötlet?
(#) t-dani válasza hpmaster hozzászólására (») Ápr 14, 2010 /
 
INTCON = Interrupt Control register

Azon regiszterek, amelyek a megszakításokkal kapcsolatos beállításokat tartalmazzák. Ha előszedsz egy általánosan használt, pl. 18F4550-es adatlapot, akkor megtalálhatod ezeknek a még pontosabb és részletezőbb leírását.
(#) hpmaster válasza t-dani hozzászólására (») Ápr 14, 2010 /
 
Akkor amik a PIC18EXT.BAS fájlban vannak, azok az adott pic adatlapjában ilyen néven megtalálhatóak és az egyes bitek dolgai kibogarászhatók az adatlapból?
Faca!

Meg is nézem gyorsan. Köszi.
(#) hpmaster válasza t-dani hozzászólására (») Ápr 14, 2010 /
 
Köszönöm, ez nagy segítség volt!
(#) icserny válasza hpmaster hozzászólására (») Ápr 14, 2010 /
 
Jó lenne, ha meg tudnád oldani, hogy a többi mikrovezérlő a programozás ideje alatt RESET-be legyen húzva, s akkor feltehetőleg nem zavarnak be a PGC/PGD vonalakon.
(#) Ideiglenes válasza mgy hozzászólására (») Ápr 14, 2010 /
 
A magam részéről csak azt tudom mondani, hogy a PICBASIC kezdetben kényelmes, azután nehézkes.
Elismerem, amit írtál, hogy kezdőknek ajánlható, meg mondjuk nagyon sok egyszerű feladathoz is merem ajánlani. Viszont egy picit összetetteb feladat esetén már pillanatok alatt megtelik a PIC pici agya. Nem beszélve arról, hogy a megszakítások és egyéb nyalánkságok tekintetében a PICBASIC erősen bekorlátoz azáltal, hogy amíg egy utasítássor nem fut le, addig a megszakítások tiltva vannak. Képzelj el egy PAUSE utasítást másodperces időtartammal!
Nos, szerintem ezért nem olyan aktívak a fórumon. De lehet, hogy annyira problémamentes a PICBASIC-kel programozni, hogy nincs kérdés, amit meg kellene vitatni.
(#) t-dani válasza hpmaster hozzászólására (») Ápr 14, 2010 /
 
Szívesen! :smile:
(#) alibaba40 hozzászólása Ápr 16, 2010 /
 
Üdv Mindenkinek!
Nagyon kezdő vagyok a picsimulatoride-vel itt viszont egész jól ment a programozás ( led vill. freqout stb...)
De úgy láttam, hogy sok utasítást nem kezel ( DTMFOUT, SOUND, stb...) ezért letöltöttem a PBP 2.6-ot itt , de ezel nem megy. Próbáltam MPLABban Microcode Studioban, pedig minden működik lefordítja asm-be majd HEX be és betöltöm pickit2vel és nem működik. A picsimulatoridevel minden ment egyből, hol lehet a hiba? Segítséget kérek, remélem én is tudtam a többi kezdöknek!
(#) icserny válasza alibaba40 hozzászólására (») Ápr 16, 2010 /
 
Ha különböző gyártók különböző fordítóit kevered, akkor az lenne a csoda, ha működne a program. C fordítóból is van 5-6 féle, azokat sem lehet keverni. El kell dönteni, hogy melyiket használod, s lehetőleg a hozzávaló dokumentációt kell használni. Utána már csak azon kell imádkozni, hogy a dokumentáció érvényes legyen (s nem a kettővel, hárommal korábbi verzió leírása).
(#) alibaba40 válasza icserny hozzászólására (») Ápr 16, 2010 /
 
Biztos így van, de PBP működik MPLABban meg Microcodeban is, hibaüzi nélkül lefordítja pl.a blink.bas fájlt, de mikor betöltöm a PICbe nem csinál semmit. Míg ezt a fájlt ( persze értelemsz. módosítva PAUSE helyett Waitms stb.) lefordítva és betöltve működik a picsimben. Lehet, hogy ez nekem magas.
(#) icserny válasza alibaba40 hozzászólására (») Ápr 16, 2010 /
 
Láttam már karón varjút, igaz nem PIC, hanem PC volt, de tegnap egy fél napig szenvedtem egy triviális program beüzemelésével (Liberty BASIC-ból FreeBASIC-be). Végül kiderült, hogy az elvileg helyesen, és a mintapéldákkal megegyező módon átírt program azért nem működott, mert az egyik beépített könyvtári modulnak (OPEN COM) a FreeBASIC-ban lelkiélete van, s a vártnál több paramétert is meg kell adni, nem működik a default értékekkel.

Ha a szimulátorban megy, de az áramkörben nem, akkor első körben a konfigurációs beállításokat kellene ellenőrizni (WDT letiltása, oszcillátor beállítása), továbbá az analóg funkciók tiltását a digitális I/O-hoz szánt lábakon.
(#) alibaba40 válasza icserny hozzászólására (») Ápr 16, 2010 /
 
Itt a két fájl: a PBP gyári és nem működik a másik az Picsimulatorral működik. Mind a kettőt pickit2-vel töltöttem 16f627a-ba.
(#) icserny válasza alibaba40 hozzászólására (») Ápr 16, 2010 /
 
A PBP_BLINK.BAS programban nemcsak a konfigurációra vonatkozóan nem látok semmi beállítást, de még azt sem tartalmazza, hogy milyen mikrovezérlőt és annak melyik portját akarod használni.

Mindenesetre a Manual első példájában legalább a portot megnevezi, a mikrovezérlőt meg a fordításnál kell megadni (máskülönben PIC16F84-re fordít).

  1. loop:   High PORTB.0    ' Turn on LED
  2.         Pause 500       ' Delay for .5 seconds
  3.  
  4.         Low PORTB.0     ' Turn off LED
  5.         Pause 500       ' Delay for .5 seconds
  6.  
  7.         Goto loop       ' Go back to loop and blink LED forever
  8.         End
(#) alibaba40 válasza icserny hozzászólására (») Ápr 20, 2010 /
 
Nem túl népszerű ez az oldal de én még kitartok. A gyári oldalról Bővebben: Link letöltött HEX fájl sem működik, a *bas fájlt meg le sem lehet tölteni. Jelen esetben egy sample blinkx4.HEX fájlt próbáltam betölteni 12f675-be.
(#) icserny válasza alibaba40 hozzászólására (») Ápr 20, 2010 /
 
Pedig a szimulátorban működik (blinkx4.hex).

A konfigurációs regiszter 3FFC (belső oszcillátor, WDT ki, PWRT ki, MCLRE engedélyezve, BRown-ot figyelés engedélyezve, kódvédelem kikapcsolva)

Ez pedig a forráskód működő linkje: BLINKX4.BAS

blink.png
    
Következő: »»   4 / 23
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem