Fórum témák

» Több friss téma
Fórum » MikroPascal kérdések
 
Témaindító: bozsokiandras, idő: Máj 15, 2006
Témakörök:
Lapozás: OK   4 / 29
(#) gozi válasza m.joco hozzászólására (») Okt 26, 2008 /
 
A belső oszcija a 628A-nak 4 MHz-es!
(#) pako válasza gozi hozzászólására (») Okt 26, 2008 /
 
4 MHz-hez az XT-t nem csak energiatakarék miatt szokták használni?
(#) potyo válasza pako hozzászólására (») Okt 26, 2008 /
 
Bár tény, hogy az XT és a HS mód a kvarcot meghajtó jelszinttel van összefüggésben, de összességében nem sok energiát takarítasz meg, ha a másikat állítod be. Az adatlapok általában úgy adják meg, hogy az XT mód 4MHz-ig ajánlott, HS pedig 4MHz felett. Persze ez nem azt jelenti hogy egy 5MHz-es kvarc már nem fog működni XT módban, hanem azt, hogy a 4MHz-es még biztosan működik XT módban.
(#) gozi válasza pako hozzászólására (») Okt 26, 2008 /
 
Nem. Mivel az alacsonyfrekis és a nagyfrekis kvarcok különböznek egymástól, így az üzembiztosság növelése érdekében az erősítési paraméterek, soros és párhuzamos ellenállás értéke (és sok más) is változtatható az erre vonatkozó konfig bitek átállításával.
4-6 MHz szokott lenni a választóvonal az XT és a HS között.
A kis fogyasztás főleg a frekvencia csökentésével érhető el, a fenti beállítások csak kismértékben befolyásolják.
(#) m.joco hozzászólása Nov 15, 2008 /
 
Sziasztok
Tudja valaki, hogy pontosan mire is jó a Man_Synchro utasítás a Mikropascalban? Közületek használta már valaki a Manchester könyvtárat?
Üdv.
(#) Istike88 hozzászólása Nov 16, 2008 /
 
Sziasztok!

A Mikropascal kompatibilis a Topi féle AVR Doper-el?

Üdv
(#) pako válasza Istike88 hozzászólására (») Nov 16, 2008 /
 
Üdv!
Úgy tudom, hogy csak a "mikro"-s programozókkal kompatibilis. Pl.: MikroICD
(#) pako válasza m.joco hozzászólására (») Nov 16, 2008 /
 
Üdv!
A Man_syncro utasítás az adatátviteli sebességet szinkronizálja. Olyan, mint UART-nál a baud rate megkeresése.
Amúgy a helyedben inkább írnék egy saját manchaster kódolást, nekem a mikropascalos nem ment. A kivezetésre direktben ráraktam egy LEDet, és nem küldött ki semmit. Ez a része bugos a pascalban sajnos.
(#) Istike88 válasza pako hozzászólására (») Nov 16, 2008 /
 
Köszi!

De ha megcsinálom mikropascalban a hex fájlt akkor azt már egy másik, az avr doperrel kompatibilis programmal feltudom égetni?

üdv
(#) potyo válasza Istike88 hozzászólására (») Nov 16, 2008 /
 
A MikroPascal PIC fejlesztőkörnyezet, nem AVR fejlesztőkörnyezet. Ebből kifolyólag nemis tudod beégetni a kapott hex fájlt, mert az a PIC kontroller belső felépítéséhez való, nem az AVR belső felépítéséhez.
(#) Istike88 válasza potyo hozzászólására (») Nov 16, 2008 /
 
khmm.... nekem avr-es mikropascalom vanBővebben: Link
(#) pako válasza Istike88 hozzászólására (») Nov 16, 2008 /
 
Ez van meg nekem is, meg van MikroPascalom DsPIC-hez is.
Amugy persze, ha megvan a hex, azt akármilyen progival be tudod égetni, ami támogatja az AVR Dopert.
(#) Istike88 válasza pako hozzászólására (») Nov 16, 2008 /
 
Akkor megnyugtattál! Köszi!
(#) m.joco hozzászólása Nov 19, 2008 /
 
Sziasztok!
Belemerültem a Mikropascal a Manchester könyvtár részébe, vettem RF modulokat, készítettem egy egyszerű adó-vevőt. A lényege, hogy amíg az adónál nyomva tartom az A gombot, addig az adó kisugároz 1x egy bizonyos bájtot, ha a B gombot nyomom akkor ezt a bájtot állandóan sugározza, két sugárzás között vár pár ms-t.
A vevő rész olyan, hogy a PIC bekapcsol egy LED-et, ha veszi ezt a bájtot. Itt egyébként egy végtelen ciklus van, ami veszi a "vételt", majd ha az az a bájt, amire be van programozva, akkor villantja a LED-et, majd vár pár ms-t, ezután újra veszi a vételt...
Nos nem értek itt valamit. Először áram alá helyezem mindkét áramkört. Ha nyomva tartom pár másodpercig a B gombot, akkor egyszercsak villogni kezd a vevőnél a LED. Ezután már elég, ha csak egyszer megnyomom az A gombot, rögtön villanik a vevőnél a LED. Viszont ha újraindítom mindkét áramkört, akkor hiába nyomogatom az A gombot, nem villanik fel a LED. Ez miért van? Nem tudom, hogy érthető-e, hogy mire akarok kilyukadni
Szóval gondolom ezekben a manchester parancsokban nem csak a kódolás/dekódolás meg a küldés/vétel van benne, hanem más is, hiszen olyan, mintha az első sikeres vétel után bármikor ha megnyomom az A gombot, akkor a vevő pic "pont abban a pillanatban" hajtja végre a Man_Receive utasítást.

Persze előfordul az is, hogy indulás után hiába tartom nyomva a B-t, még percekkel később se kezd villogni a LED.
Üdv.
(#) m.joco hozzászólása Nov 21, 2008 /
 
Esetleg tudná valaki, hogy kell nagyjából kinéznie az adó és a vevő programjának, hogy biztos legyen a kapcsolat - mostanában akárhogy kapcsolgatom, nem jön létre a kapcsolat, pedig a modulok jók. A mikropascal manchester példaprogramja se jó, legalábbis nekem nem ment.
Üdv.
(#) pako válasza m.joco hozzászólására (») Nov 21, 2008 /
 
Nem biztos, hogy a te programoddal van a baj. Próbáld ki, hogy az adó PIC kimenetére az RF modul helyett csak egy LEDet teszel, hogy egyáltalán küld-e ki valamit. Mint említettem, ezek a manchaster_* rutinok nekem sem mentek, valószínűleg bugos a pascal ezen része.
(#) m.joco válasza pako hozzászólására (») Nov 21, 2008 /
 
Hello
Megpróbálom, egyébként az adó pic programjában két küldés között mennyit érdemes várni - delay_ms(?) ? És ugyanígy a vevő oldalon is két vétel között mennyit célszerű várni?
Még mindig nem világos, hogy pontosan is mire jó használni a man_synchro utasítást. Azt értem hogy visszaadja a bájtnak a felét(vagy nem is tudom hogy pontosan mit ad vissza), de azt aztán mire lehet használni, miben segít?
Üdv.
(#) potyo válasza m.joco hozzászólására (») Nov 21, 2008 /
 
Elvileg sehol sem kell várni. Ha kiment az adat, akkor mehet a következő. Vevő oldalon meg azt kell nézni, hogy jött-e be adat.
(#) m.joco válasza potyo hozzászólására (») Nov 21, 2008 /
 
Szóval az adó oldalon ha én állandóan csak egy bizonyos bájtot akarok kiküldeni, akkor elég írni egy végtelen ciklust, ami állandóan küldi a bájtot? És hogy lehet összeeggyesztetni, hogy pont amikor küld az adó, akkor vegyen a vevő is?
Üdv.
(#) potyo válasza m.joco hozzászólására (») Nov 21, 2008 /
 
A vevőnek folyamatosan figyelnie kell és fel kell ismernie, ha adat érkezik. Mint ahogyan a soros port a startbit lefutó éléből tudja, hogy most kezdődik valami.
(#) m.joco válasza potyo hozzászólására (») Nov 22, 2008 /
 
Hello
Tudnál valami egyszerű mintát mutatni nekem adóra és vevőre? Most már sehogysem akar szinkronizálni az adó és a vevő. Biggyesztettem a vevőre 2x16 lcd-t, ami kiírja mindig azt a bájtot, amit vesz a vevő, de legtöbbször 247-es érték jön ki. Ha bekapcsolom az adót, akkor néha mutat más értéket is, de egyszer se azt, amit sugároz az adó. Szóval kiváncsi lennék, te hogyan csinálnál ilyen egyszerű adó-vevőt, ahol az adó csak egy bizonyos bájtot ad, és ezt SIKERESEN veszi a vevő. Ebben te hol használnád a man_synchro parancsot?
Üdv.
(#) potyo válasza m.joco hozzászólására (») Nov 23, 2008 /
 
Nem ismerem a micropascalt, így konkrét dologgal nem tudok szolgálni. Én a program felépítésére értettem, amit írtam.


A man_synchro parancsot úgy érzem, az adónak kell kiadnia, mielőtt adatot akar küldeni azért, hogy a vevő rá tudjon szinkronizálni. De lehet, hogy rosszul gondolom. Használati utasítás?
(#) m.joco válasza potyo hozzászólására (») Nov 23, 2008 /
 
Hát átnéztem a használati utasítást, de nemnagyon értem, mire lehet használni a man_synchro-t. De gondolom igazad lesz benne, biztos a szinkronizálásban van szerepe. Belinkelem neked a mikropascal manualját, a manchester library-nél megnézheted az utasításokat, de sajnos nincs sok írva erről a parancsról. Lehet te észreveszel valamit
Bővebben: Link
Üdv.
(#) potyo válasza m.joco hozzászólására (») Nov 24, 2008 /
 
Ahogy nézem, a man_synchro igazából nem való semmire. Csak visszaadja, hogy milyen hosszú egy fél bitidő, tehát nélküle is működnie kell mindennek.

Az utasításban szereplő példaprogramokat próbáltad? Az oszcillátorfrekvencia azonos mindkét chipnél? (szerintem nem lényeges a 8MHz, hanem csak az, hogy azonos legyen). Azt is próbáld ki, hogy a két picet közvetlenül összekötöd, hogy kizárd azt, hogy az RF modulok okozzák a galibát. Ha így sikerül összehozni stabilra a kommunikációt, csak azután tedd be az RF modulokat.

Az mondjuk nem szimpatikus, hogy a fogadó utasítások blokkolják a kontroller működését. Persze oké, hogy ezzel biztosítható a pontos vétel anélkül, hogy az előre elkészített rutinba belenyúlnánk, de ha 500bps az átvitel sebessége, akkor egy bájt fogadása 16ms időre megfogja a chipet. És 16ms hosszú idő is tud lenni! Persze ha a kontroller nem csinál mást, akkor működnie kell a dolognak.
(#) pako válasza m.joco hozzászólására (») Nov 24, 2008 /
 
Mint már írtam, a Man_syncro utasítás az adatátviteli sebesség szinkronizálására való, a vevő modul használja! Arra jó, hogy ha az adón pl 8MHz-es kvarcot használsz, a vevőn meg pl 10MHz-est, akkor szinkronba hozza az adatátviteli sebességet.
Amit írtam, az csak "elvileg" van így, mivel nekem a gyakorlatban nem működött ez a library, (mint ahogy írtam) bugos (vagyis hibás) ez a része a pascalnak.
Szerintem előbb végeznél, ha írnál egy saját manchastar kódolást. (Ugyan az, mint az RC5, csak hosszabb időzitésekkel.)
(#) potyo válasza pako hozzászólására (») Nov 24, 2008 /
 
Te megnézted egyáltalán, hogy mit mond a használati utasítás erről az utasításról? Jobb lenne, ha nem terjesztenél hülyeségeket!
(#) pako válasza potyo hozzászólására (») Nov 24, 2008 /
 
Eszemben sincs hülyeséget terjeszteni!
Használtál "Function"-t MikroPascalban? Az, hogy visszaad egy értéket, az nem jelenti azt, hogy azon kívül más utasítást nem tud végrehajtani. A visszaadott érték csak tájékoztató jellegű ez esetben.
Idézet:
„To use this function, you must first prepare the PIC for receiving.”

Tehát a vevő modul használja.
Idéznéd, melyik rész volt hülyeség?
(#) pako válasza pako hozzászólására (») Nov 24, 2008 /
 
Ami még a saját kódolás megírása mellett szól, hogy akkor meg lehet oldani interruptolva, és nem kell megálnia a proginak 10-20 mSec-re.
(#) potyo válasza pako hozzászólására (») Nov 24, 2008 /
 
Idézet:
„Használtál "Function"-t MikroPascalban?”

Mikropascalban nem, PC-s pascalban és delphiben igen.

Idézet:

Az, hogy visszaad egy értéket, az nem jelenti azt, hogy azon kívül más utasítást nem tud végrehajtani.”

Ez igaz, de nem említi sehol a leírás, hogy csinál mást is azon kívül, hogy visszaadja a fél bitidő hosszát. Ennek ellenére csinálhat mást is, de akkor meg a hozzá írt használati utasítás a hibás/hiányos. Innen kezdve pedig igencsak elgondolkodtató, hogy érdemes-e haználni valamit, amihez a leírás nem fedi azt, amit csinál. Jobb lenne megírni saját rutinban, megszakításból kezelve az egészet. CCP modul Capture módjával könnyen mérhető a két élváltás között eltelt idő, és az alapján dekódolható az adat.

Idézet:
„To use this function, you must first prepare the PIC for receiving.”


Nem ez szerepel a man_synchro utasításnál. Kép:
(#) pako válasza potyo hozzászólására (») Nov 24, 2008 /
 
Idézet:
„Nem ez szerepel a man_synchro utasításnál.”

Nekem igen
Lehet, hogy az eltérő verziószám miatt van ez, vagy nem tudom
Idézet:
„Jobb lenne megírni saját rutinban, megszakításból kezelve az egészet.”

Az előző hsz.-emben pont ezt írtam

névtelen.PNG
    
Következő: »»   4 / 29
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