Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Nem hagyott nyugton, megnéztem gyorsan!
A Beállítás: MSComm1.Settings = "600,N,8,1" A Valós sebesség pedig 6KBájt/sec. Úgy tűnik, hogy a CDC driver nem veszi figyelembe a beállításokat. Idézet: „Hogy milyen sebességel kommunikál valójában a PC CDC driverrel, nem tudom, mert úgy tűnik, hogy nem törödik a konfigurációkban beállított értékekkel...” A beállított sebesség nem is a PC - USB Device viszonylatában érvényes, hanem az USB Device "másik végén", a soros portot konfigurálja hozzá. Itt viszont számít a beállítás, s ezt a PICkit2-vel (logikai analizátor módban) szépen ki is lehetett mérni.
Megcsinalátam interrupttal, sztem jo is lesz, csak maga a megszakítás függvényre ugrást valahogy nem sikerült abszolválni....
Mit rontottam el? Mellékelve a csupasz intterrupt lekezelő rész ui: a kódban véletlenül GIE=0; van . Ezt természetesen 1 be állítottam.
Már nem aktuális. Megtaláltam PEIE=1;
Azért köszi.
Sziasztok! Van lehetőség arra, hogy a C18-ban kreált és lefordított kódot megnézzem assembly nyelvben valahol? Keresgéltem a projektnek a könyvtárában, de egyik fájl sem tartalmaz asm kódot.
Hello
Szeretnék metanulni pic-et programozni. Látom, milyen sok dologra lehet használni. Hogy kell ezt elkezdeni? Milyen programozó cuccot kell hozzá beszerezni? STB. Köszi előre is Ja, tök nem vágom ezt a pic dolgot, tehát az alapoktól kellene valami segítség a dologhoz.
Énis most kezdtem el
Csak egy tanácsot tudok adni: JDM programozót ne építs!!! Engem annyira kiidegelt, hogy vettem egy gyári Pickit 2-t... Mondjuk nem bántam meg.
Hy
Azért jó hogy azzal kezded, hogy mit ne tegyek Szóval egy pic-et lehet többfajta cuccal is programozni? Úgy tudom, hogy több széria van ezekből. Melyiket érdemes használni, vagy mire érdemes berendezkedni? Te mennyiért vetted a gyári progizót?
[off]Egy aprosag csak. A "Hi" pontos i-vel van, ha mar mindenkeppen angolul szeretnel koszonni.
Üdv!
Vicsys OVERKILL órájának a táp részén van egy akku. Ez szolgáltatna egy kis plusz kraftal, ha nincs bejövő táp. Egy ilyesmi kialakítást szeretnék én is megvalósítani, de lenne pár kérdésem. A PIC áldozat egy 16F871-es, megnéztem az adatlapját, képes 3V-ról is muzsikálni, de pl azt nem tudom, hogy mennyire képes elviselni, hogy 5V-ról hirtelen leesik 3.6V-ra, ill vissza. (Most, hogy az akkunak mennyire jó, az más kérdés) Gondolom szoftveresen meg van oldva, ha kisebb feszültséget kap, akkor "üzemmódot vált". De ilyenkor ugyan úgy számol tovább? És ha visszajön a táp, akkor mintha mise történt volna, folytatja tovább a műveleteket? Csak azért fejtegetem, mert én valami ilyesmit szeretnék: (óra félig-meddig, tehát időt jelezne ki) - Kap tápot rendesen, működik rendesen. - Ha eltűnik a táp, akkor a rákapcsolt 1 (2?) akku (3.6V max, mint ami van a linken) átvenné a tápellátás szerepet, hogy a belső számolgatása (gondolok itt a tmr0-ra) fusson továbbra is, de a kimenetekre ne adjon semmit. (Az óra futása továbbra is megy, csak nincs kijelezve, nem reagál semmilyen parancsra) - Ha visszajön a táp, akkor újra minden aktív, kiírja az időt, reagál stb... Ha beteszem sleep állapotba, akkor képes lenne az órát "pörgetni"? (csak néhány változót kéne babrálnia megszakításkor, akár csak ennyira felébreszteni) Bármi kérdés van, csak nyugodtan Ha valamit kihagytam, ami kellhet, akkor szóljatok Ui: összefoglalva: ha elmegy a táp, akkor se felejtse el az időt, hanem menjen tovább.
Maga a programozó 7-8e között van a chipcadnél.
Én a Debug Express kivitelt vettem, 11-13 ért(már nemtudom most hirtelen), amihez adtak egy Demo Board 44p nevű kis áramkört egy PIC16F887 essel, amivel el lehet gyakorolgatni, meg CD-n hozzá példaprogramokat+MPLAB IDE+.... a Microchip honlapján írja a különbségeket a csomagok között. Meg szükséged lesz egy dugaszolós próbapanelre, 2 db 5 ös tüskesorra, szalagkábelre. Súlyos ezresekért árulnak olyan foglalatot hozzá amibe belemegy a programozandó. Üdv
Szia!
Egy Real-Time Clock áramkör megoldás lehet a Te problémádra: 2uA fogyasztás mellett számolja az időt a pic működése nélkül is, csak neki kell egy elem/akkumulátor. A Propeller és a Wand órát is kiegészítettem PCF8583 RTC kezelésével. Ajándékként az RTC még 240 byte cmos RAM-ot is tartalmaz, amiben a beállítások mellett 40-60 ébresztési időpont információi is elfér. Kapcsolás és program (assembly forrás is) a propeller topikban.... Szia. Idézet: „Hogy kell ezt elkezdeni?” Nincs kötelező útvonal, tehát mindenki úgy kezdi el, ahogy hajlamai diktálják. Én például azt tartom értelmes megközelítésnek, hogy addig olvasgatja az ember a Microchip honlapját (adatlapok összehasonlítása, demókártyák leírása előtti nyálcsorgatás, stb.), a ChipCAD árlistáit, az Olimex vagy a Sparkfun prototípus és fejlesztői kártyáit, valamit az Interneten fellelhető számtalan projektet, amíg határozott elképzelése nem alakul ki, hogy mit és mivel szeretne megépíteni, beleértve annak megindoklását is, hogy miért pont azzal a mikrovezérlővel és miért nem másikkal...
Szia!
Két lépést ajánlanék: - Egy nagyon egyszerű programozó (de nem jdm) Watt társunk honlapjáról, amivel a 18F2550 felprogramozható. - PicKit2 utánépítése: Sokasodnak a nem 5V-os picek. Olyan változazot ajánlanék, ami a tápfeszültséget is állítja. Nem lesz gondodaz újabb típusokkal sem, mivel az algoritmusokat a gyártó frissíti... Nézz át a PicKit2 klón topikba...(3-5 ezerből kijön) Ha a PicKit2 már megvan, akkor akár egy breadboard-on is lehet próbaáramköröket felépíteni...
A többi javaslat mellé még érdemes itt a Hobbielektronikán is szétnézni a cikkek között(csak akkor csukd be a szemed, mikor a JDM rövidítést látod! ), valamint ezt a topicot is érdemes átszűrni, mert a kérdésedre már több mint 50szer biztosan válaszoltunk és a válaszok szinte ugyanazok! Használd a keresőt, jól működik!
Mikrobasicben a PORTB.1=not(PORTB.1) (c-ben gondolom == lenne) utasítás helyes, ha a portb.1 kimenet?
Ciklusban van, és először felvillan, majd megáll.
Szia!
A portok olvasásakor a lábakon mérhető jel szerinti értéket olvassa be a pic. Ha a lábon nagy terhelés van, a feszültség nem haladja meg a min. magas szintet (ld. adatlap), akkor az olvasás 0-t fog eredményezni. Statikus terhelés esetén csökkenteni kell azt (pl. LED-et nem közvetlenül, hanem tranzisztoron keresztül vezérelni). Nagy kapacitív terhelés esetén elég lehet a beállítás után megvárni, míg felfut a feszültség a min. magas szint fölé. Újabb pic-eken (18F, 24F,...) a port regiszter helyett jobb a latch regisztert használni.
A barátom megmondta :google:
" Hi, For the Pic 18 Series: Reading a I/O port or bit uses the "PORT" register. Writing to an I/O port or bit should use "LAT" register. Regards, Maximilius26 " akkor azért nem ment... Idézet: „A beállított sebesség nem is a PC - USB Device viszonylatában érvényes, hanem az USB Device "másik végén", a soros portot konfigurálja hozzá.” Ezt próbáltam megérteni, nem sikerült. Mire gonolsz, mikor a "másik végét" említed? A PC-re?. Mert én épp arról beszéltem, hogy a PIC-ről viszek át 6KBájt/sec-el adatokat a PC-re, miközben a beállítás a PC-n 600bit/sec, azaz 75Bájt/sec. A PIC-ben nem is kell( és nem is lehet) beállítani baud-ot, mert nem a PIC emulálja a soros portot, az az USB- protokoll szerint kommunikál.
Meg te is.
Ez kicsit bővebb volt. Köszi! Egy BCD dekóderbe megy bele.
"Mire gondolsz, mikor a "másik végét" említed?"
Én a mintapéldák között található CDC Serial Emulatorról beszéltem, amelynél a PIC "egyik végén" (USB csatlakozó) bejön az adat, a "másik végén" (UART port) pedig kimegy. Vagy fordítva: ami az UART porton bejön, azt küldi az USB-re. Bővebben: Link
Szerintem ekkor sem számít a PC-n beálított Baud érték a PIC és a PC közötti sebességben, az szerintem a maximális amit a CDC meghatároz(1MBájt/sec).
Ha az USART-ra küldjük tovább a CDC-n vett adatokat az USB pufferből, azt nyílván a PIC-ben beállított baud rate fogja kontrollálni, de ennek nincs köze az USB-n zajló kommunikációs sebességhez. Én úgy tapasztaltam, hogy a virtuális COM port sebességét a CDC Driver határozza meg és nem lehet változtatni. Igazából nem is lenne értelme.
Idézet: „akkor azért nem ment...” Próbáld az áramkört úgy építeni, hogy menjen azzal is, amit te írtál, mert ha azzal nem megy, akkor ott az áramkör nincs teljesen rendben...
Sziasztok!
Remélem jó helyre irok. Kérdésem az lenne, hogy miben különbözik a PIC18F1320-E/P és a PIC18F1320-E/SO. Egyik adatlapon csak a Package type más, csak nem tudom az mit jelent Más lenne a tokozása? Tudna valaki segiteni? Köszi előre is! Idézet: „Ha az USART-ra küldjük tovább a CDC-n vett adatokat az USB pufferből, azt nyílván a PIC-ben beállított baud rate fogja kontrollálni” Igen, és pont erre mondtam, hogy ez kényelmesen állítható a PC alkalmazásból (nem kell hozzá firmware-t módosítani). Tehát ha a Hiper Terminal-ban a virtuális soros port sebességét átállítom, akkor az a CDC Serial Emulator-t játszó PIC-ben az UART port sebességét fogja megváltoztatni.
Köszönöm a segítséget, utánajárok, remélem menni fog majd!
En ugy tudom a Windows Control Paneljeben beallitott baud erteket a legtobb alkalmazas amugy is figyelmen kivul hagyja es sajat maga allitja be a kommunikacios sebesseget.
|
Bejelentkezés
Hirdetés |