Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Szedd le az MPLAB-ból is a legújabb verziót...
Sziasztok!
Az lenne a kérdésem, hogy egy mikrokontrollernek hogyan tudok relés kimenetet építeni? Gondolom nem egy nagy szám, de bizonytalan vagyok a témában. Köszi előre is.
Hali
Cikkek-> 0-tól robotig II. az elején van szó relézésről, ha jól emlékszem bc 337 -et használ
Köszi az infót, hasznosnak ígérkezik.
ez ami másnak működik, és félig nekem is, de nem 100%
Ez egy JDM klón lefele butított változata. Majd mások elmondják hogy nekik milyen jól működik, én azt mondom építs egy jobb égetőt, pl. PICKit2, vagy ha van LPT portod és nincs sok pénzed, akkor nézz fel az oldalamra a v4-es egyszerű égetőhöz.
Sziasztok!
Van egy velleman égetőm, de nincs rajta 40-es csatlakozó. Hogy lehetne mégis megoldani, hogy fel tudjak vele programozni egy 18F452-t? Köszönöm előre is!
Köszi!
Tehát, amit készítek panelt, annak a PIC foglalat megfelelő öt lábát kivezetem egy csatlakozóra, amit összedugok a programozó ICSP-csatival? Ennyi?
Sziasztok!
Korábban írtam, illetve aki látta, és olvasta üzeneteimet, DMX vevővel szenvedek már egy jó ideje Szerencsére, megtaláltam azt a programozási nyelvet, amin picit jól tudok dolgozni, ez a Pascal nyelv! MikroPascal programmal USART kezelése teljesen megfogalmazva GYEREKJÁTÉK Egy SN75176-al összekötött PIC-et képzeltem el, amit egy Pl Involight DL250 -es púltról tudok vezérelni! Kérdésem az lenne, hogy ki ért még Pascal nyelven, és az USART-ból hogy lehet felfedezni azt, hogy ez melyik csatorna, melyik a START kód, melyik a BREAK kód, és hogy milyen sebességet kell adni egy USART-nak, ha DMX-ről van szó!?! Itt egy példaprogi, ami csak annyit csinál, hogy USART-al rácsatlakozok egy gépre, és HyperTerminal-ba beírok egy nagy "A" betűt, és kiírja nekem az Eprom tartalmát a HyperTerminal-ba! Oké, tovább akartam fejleszteni, de inkább a DMX felé húzódnék!! Köszi...
Május óta ajánlgatom a Microchip honlapján található AN1076 alkalmazási mintapéldát. Abban minden benne van, részletes magyarázattal, kommentekkel. Nem hiszem el, hogy nincs egy délutánod az assembly utasításokkal történő összebarátkozásra!
A Break-re várás pl. így néz ki:
Idézet: „milyen sebességet kell adni egy USART-nak, ha DMX-ről van szó!?!” Úgy emlékszem, ezt is tisztáztuk már: a tipikusan 4 us bit-időből adódóan 250 000 bit/s. De ezt bármelyik DMX512 leírás-ban megtalálod.
Emlékszek az AN1076-ra, nem is kevés időt töltöttem el vele, de sajnos nekem az Assembly annyira lebontott nyelv, hogy nem értem meg, mit csinál!?!
Természetesen egyszerűbb, azt mondani, hogy: if [változó] = True[boolean] addig begin [EZT CSINÁLJA] end; Ezért írtam, illetve kérdeztem, hogy valaki Pascal nyelven meg tudja mutatni, hogy kell várni egy Break-ra!?! Idézet: „ Úgy emlékszem, ezt is tisztáztuk már: a tipikusan 4 us bit-időből adódóan 250 000 bit/s. De ezt bármelyik DMX512 leírás-ban megtalálod.” És egy ilyen sebességnél, mekkora Kvarcot lehet a PIC-hez használni?! Gondolom, az USART a külső Kvarcról kapja a sebességet, és ez is eltérhet attól, amit megadok neki, mint sebesség érték!?! Köszi
A Pascalt itt kevesen ismerik, mert nem PIC nyelv, és PC-n is elég perifériás.
A kvarc értéke elég nagy legyen, hogy 250kb/sec kiférjen. Utána csak a beállításokat kell jól megtenni. Adatlap USART része, táblázatok... Hogy ezt Pascalban hogyan kell reprezentálni fogalmam sincs és nem is fogom megtanulni azért, hogy neked válaszoljak! Idézet: „Ezért írtam, illetve kérdeztem, hogy valaki Pascal nyelven meg tudja mutatni, hogy kell várni egy Break-ra!?!”
ui: Ha már mindenáron Pascalozni szeretnél nézd meg inkább a JAL nyelvet, az Pascal-szerű és kifejezetten PIC-re találták ki: JAL-ról a nyelv kitalálójától JAL-ról a Wikipedián
Köszönöm Watt.
Igazából tényleg nem PIC nyelv, de sok mindent a MikroPascal program önmagától megcsinál, és Assemblerre fordít!! Az Usart-nak ott 6db parancs van összessen! Pl a megszakítás figyelő az Usart_Data_Ready! Olvasás Usartról Usart_Read, írás Usart-ra, Usart_Write, Usart sebessége Usart_Init... Természetesen a Pascalban van egy asm parancs, ahova assembler parancsokat lehet beírni, de ezekről jó kérdéseim lennének... Fontos, az, hogy bit-enként vizsgálódjak? Minden 4us-nál vizsgáljam meg az értéket?! Köszi
Köszi Trudnai!
Igen, ezt értem, sőt, használni is fogom, de hogy adom meg a Break-ot feltételnek?! Dmx Break: Minimum 88 μs hoszzúnak kell lennie (ami 22 bit hosszúságú alacsony szintet jelent)... Pontosan ezt nem értem, hogy a Pascal-al 8Bit-et olvasok ki, így meg kell vizsgálnom, hogy 2 bájt 0-nak kell lennie... És a maradék 6Bit-el mit lehet kezdeni?! Köszi
A {feltetel} bármi lehet! Pl timert felprogramozod, hogy várjon 88us-et és, hogy a jeled közben alacsony szintű. Vagy megszakításod van, aminél jelváltáskor cselekszel, tehát alacsonyra váltáskor törlöd és indítod a timert, magasra váltáskor pedig megállítod... eközben pedig a főprogramban a timer lejártára vársz. Vagy akár a timer lejárta is lehet ISRben... fogalmam sincs mi a követelmény így nem tudom hogy mi a célravezetőbb.
DMX-ről ezt találtam(nem PIC téma):
DMX512 A csomag rész jól le van írva. Hogy ezt hogyan oldod meg Pascal-ban, az jó kérdés! De a varázsszó a minimum! A vonal, ha jól tudom magas szintű, ha nem küldesz ki rá adatot, tehát a Break kiküldése után(két bájt 0értékkel), csak várakozni kell minimum 8ms-et, utána jöhet a start Code(egy 0értékű bájt), utána a Dim-ek... Előtte jól kell beállítani az USART-ot(sebesség 250Kb/s, 2 stop bit, 8bit) Idézet: „Break kiküldése után(két bájt 0értékkel),” Helyesbítek, ez így nem jó, de le van írva a hogyan a linkelt írásban! Idézet: „Előtte jól kell beállítani az USART-ot(sebesség 250Kb/s, 2 stop bit, 8bit)” Ez is másképp lesz jó, a 9. bittel, vagy a leírás szerinti várakozással. Idézet: „Emlékszek az AN1076-ra, nem is kevés időt töltöttem el vele, de sajnos nekem az Assembly annyira lebontott nyelv, hogy nem értem meg, mit csinál!?!” Ha nem értesz valamit, akkor miért nem kérdezel rá? Idézet: „valaki Pascal nyelven meg tudja mutatni, hogy kell várni egy Break-ra!?” Nem sok esélyt látok rá. De Pascaltól függetlenül már korábban tisztáztuk, hogy BREAK gyanánt egy Framing Error-t kell várni: addig kell a beérkező karaktereket fogadni és eldobni, amíg az RCSTA regiszter FERR bitje be nem billen. Ekkor kezdődhet a tánc... Idézet: „És egy ilyen sebességnél, mekkora Kvarcot lehet a PIC-hez használni?!” Gondolom, 10 MHz-es kvarc, és 4x PLL (PIC18)
Ha már JAL, akkor használjátok az átdolgozott, újabb verziót! Bővebben: JAL2 bejelentése és letöltési linkek.
Idézet: „korábban tisztáztuk, hogy BREAK gyanánt egy Framing Error-t kell várni:” Jé tényleg, éreztem, hogy erről már volt szó részletesen!
Hali!
Lehet hogy buta kérdés, de csináltam egy kis teszt panelt pic24fj128ga008-hoz, de véletlenül a pgc2 pgd2-re kötöttem, és a pickit2 nem ismeri fel. Lehet ez gond?
PGC2 és PGD2-n keresztül is fel kell, hogy ismerje a Picki2.
Akkor nem tudom mi a gond. Mlrc be van kötve, vdd, gnd, data és clock megvan az ic lábain, de a pickit mégsem ismeri fel. Nincs zárlat a vdd és a vpp között, minden vdd és vpp láb ba van kötve, mégsem ismeri fel. Unexepted device id
Akkor nem tudom mi a gond. Mlrc be van kötve, vdd, gnd, data és clock megvan az ic lábain, de a pickit mégsem ismeri fel. Nincs zárlat a vdd és a vss között, minden vdd és vpp láb ba van kötve, mégsem ismeri fel. Unexepted device id.
Kimérve ott a 3.3V a vdd és a vss között. A clock és data be van kötve. A pickit sorrend is mlrc vdd vss, data és clock?
Sziasztok!
Egy olyan problémába ütköztem, hogy 16F883-at tesztelgetek, szeretném használni a BSF és BCF utasításokat, és érdekes dolgokat művelt. Megnéztem debug üzemben, hogy mi is történik. Azt tapasztaltam, hogy a B port 5 bitjét BSF utasítással állítanám be, viszont amikor a program ráfut ezen utasításokra, csak addig tartja a kimenetet 1 szinten, amíg azon az utasításon állok. Szóval ez a két utasítás majdnem úgy működik, mint egy nyomógomb. Én nem állítottam be valamit jól, vagy hogy lehet megoldani, hogy az utasítás a feladatát csinálja? |
Bejelentkezés
Hirdetés |