Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Sziasztok!
Van egy házi linux szerverem. Szeretném eltüntetni mellőle a 14"-os crt monitort és a billentyűzetet. Ezért arra gondoltam, hogy kirakom a konzolt soros portra. De nincs szabad soros portom. Ezért arra gondoltam, hogy fogok 1 picet cdc firmware futna rajta. A programnak annyit kéne csinálnia, hogy amit kap usbn azt kiküldi a soros portjára és fordítva. A cdc firmware-es picet soros portnak látja a Linux. Szerintetek ez így megoldható? Működhet egyfajta átjátszóként a pic? PIC18F14K50-t néztem ki ChipCad-nál 400+áfa. Ezen futna a cdc firmware? Előre is köszönöm a válaszokat!
Valószínűleg működne, de nem célszerűbb ilyesmire egy USB/soros átalaklító chipet használni? Én most FT232RL-ekkel dolgoztam, nagyon kellemesen használhatók, igaz, Linux alól nem próbáltam (de úgy tudom, teljes a támogatása). Picit drágább (640+áfa, sziintén Chipcad), de nem kell firmwareírással bajlódni.
Azért az a gyári CDC fw csak egy keret, kellene még abba belenyúlni eléggé, pl. a soros port kezelésének oldalán. Ráadásul nem emlékszem, hogy a gyári keretrendszer fel van-e készítva ezekre az új USB-s chipekre.
Nos, megint én.
Nem túl sokat aludtam, így bocsi, ha kicsit hülyén írok Egész este/hajnalban próbáltam rendbeszedni az általam írt kódot. Egyelőre úgy tűnik, működőképes, mert MPLAB-ban nem jelez ki hibát, de nem tudom, ez a plugin mennyire megbízható. Egész szépen fel van kommentezve a kód, szerintem túl sokat nem kell magyaráznom a működésén. Tudom, ráférne egy kis optimalizálás, de egyelőre nem túl nagy a kód, ezért szerintem még ezt felesleges megcsinálni. Mellékeltem a jelenlegi programkódot. Itt hogyan tudom használni a sleep funkciót?
Ha így csinálnám, úgy jó lesz, vagy van külön parancs is erre CCS-C-ben? Ezt egy következő funkcióként szeretném használni. Ha a PIC sleep módban van, akkor nem tudom, hogy, ha növelek benne egy változót, vagy valamit, felébred-e, szóval, ha lehet, erre tanácsokat szeretnék kérni, ezt hogyan is kell használni. Köszönöm a segítséget.
A sleep egy olyan alvó állapot, amikor a processzor nem csinál semmit. Tehát változókat sem növelget, alszik, és vár arra az eseményre, ami ebből az állapotából felébreszti.
Meg kell nézni az adatlapot, hogy sleep-ből mire és hogyan tud felébredni a CPU. Alapvetően olyan eseményre, ami kívülről, a CPU-tól függetlenül keletkezik (pl. portláb állapotváltozása), illetve ha a Timer1 külső órajelről jár, akkor annak túlcsordulása is. A belső számlálók és ilyesmik a sleep alatt le vannak állítva, ezért azokkal nem lehet felébreszteni alvásból a CPU-t. Természetesen a watchdog működik alvás közben is, ezért ha azt használod és leketyeg, akkor felébreszti vagy reseteli a CPU-t, ezt szintén adatlapból kell megnézni, hogy mire képes. A sleep után érdemes vagy két "nop"-ot is betenni, úgy elmékszem, hogy a sleep utasítás végrehajtása előtt az első, sleep utáni utasítást már beolvassa a proci, így ébredéskor bizonyos feltételek esetén elveszhet egy utasítás - a "nop"-ért nem kár A dolgok c-beli megvalósításáról nem sokat tudok mondani.
Ezt a változónövelésest úgy értem, hogy van 2 gomb, amivel tudok egy változót növelni/csökkenteni.
Ezek az RA0 és RA1-es lábra vannak bekötve. Tehát, ha sleep-be rakom a PIC-et, és utána megnyomom e 2 gomb közül valamelyiket, úgy felébredne, és csinálná, amit kell? Úgy lenne, hogy a sleepet egy külön effectrészbe raknám, tehát nem kell semmit sem folytasson, csak, ha megnyomom a 2 gomb közül valamelyiket, akkor az utána/előtte levő effectet kezdje el "lejátszani" Idézet: „Ha a PIC sleep módban van, akkor nem tudom, hogy, ha növelek benne egy változót, vagy valamit, felébred-e,” Hát akkor először magát a sleep-et kell megnézned. Pl:Bővebben: Link Aztán meg a ccs honlapjáról is letölthető a kezelői leírás amiben a sleep használata benne van. Egyébként, ha a PCWHD-t telepítetted fel, akkor az MPLAB-ből is elérhető a ccs c súgója, ami megegyezik a fenti leírással. Idézet: „Tehát, ha sleep-be rakom a PIC-et, és utána megnyomom e 2 gomb közül valamelyiket, úgy felébredne, és csinálná, amit kell?” Persze, csak akkor külső megszakítást kell alkalmaznod, az ébreszti a PIC-et.
Hello! Biztosan jó mert a 16F877-et meg tökéletesen égeti. Nemtudom mit tegyek hogy bennemaradjon a progi visszaolvasásnál is és ne egy csomó 0 legyen ott. Ha winpic-ben átírom az osc-config értéket és minden más 3FFF úgy beégetem és oké azt visszaolvasom és bennemarad. Megnyitom a hex-t és égetem de az osc configot ilyenkor már nem hagyom hogy átírja, hanem maradjon amit beégettem előtte. Visszaolvasásnál minden 0 lesz de az osc config megmarad a memória utólsó részén,egyedül az nem lesz 0000. Nemtudom mondta itt valaki a belső resetet...ez melyik? PUT? Felteszem mégegyszer a konfigurációs beállításaimat is és hátha abból ki vagy be kell kapcsolni valamit. az options-nál próbáltam azt a MCLR=VSS-t kipipálva is meg anélkül is de nemtudom hogyan kellene álljon igazából.
Miután írtam pont azt még mondom kikapcsolom és azt még kipróbállom. Jó lett! Köszönöm azért mindenki fáradozását. Még egy dolog: akkor ennek a proginak mind1 mit írok be osc-configba? Nem használja? Mert beírtam oda most 347C-t. Az jó úgy?
Sziasztok!
Lenne egy kérdésem a Vicsys féle hőmérővel kapcsolatban: Használható-e a HEStore-n kapható LCD modul a hőmérő kapcsolásba? Előre is köszönöm: Müszi
Szeeerbusztok!
Mi a különbség abban, ha egy 16F877 erre hivatott lábait használom soros portnak, illetve ha másikat választok?
a hw sorosport csak az "arra hivatott" lábakkal működik. Másikkal nem tudod használni, csak esetleg soft uart-al.
Pl. CCS-C lehetővé teszi, hogy definiáljam, ki lesz a TX, RX. Ezáltal több soros portot is tudok kezelni egy PIC-kel?
Bár a ccs-t nem ismerem semennyire, így láttatlanban igen, tudsz egy hw-eset használni, plusz mellé még egy szoftosat.
Sziasztok! A "#262299" hozzászólásomban felvetett kérésemre senki sem tud reagálni, vagy elnyomtátok más egyéb hasznosság miatt? Légyszi!
Senkinek sincs infója a kijelző felhasználhatóságáról ebben az áramkörben?
Köszönöm a választ!
Lehet, hogy célszerűbb átalakító chipet használni, de azokat nem ismerem és úgy gondolom nem kéne olyan bonyolult firmwaret írni a picre. A cdcről biztosan tudom, hogy működik Linux alatt. Azért néztem ki ezt az új picet, mert olcsó és nincs túl sok lába. Ilyen egyszerű áramkörbe ne rakjak már 4550-et. De most elbizonytalanítottál. Azt vágom, hogy simán nem lehet rátenni a cdc-t, legalább az io_cfg.h-t módosítani kell. Most nézem, van új usb framework benne cdc . Így már jobbak az esélyeim. Támogatja a 18F14K50-et. potyo: köszönöm a gyors választ! Szerk.: A CDC - Serial Emulator a leírása alapján az ami nekem kell: In this demo the CDC firmware acts like a USB to RS232 converter. Data sent or received on the USB port will be passed to/from the RS232 port.
Szia!
Fog működni, HD44780 kompatibilis, és Vicsys-é is az, csak a lábkiosztásra figyelj, nem feltétlenül ugyan az! Üdv, Blint
Szóval: a piezo simán ráköthető bármelyik kimenetre, az tulajdonképpen csak egy kapacitásként fog viselkedni. Minden átpolarizáláskor "koppan" egyet. Ahhoz, hogy sípolást hallj rajta, a másodpercenkénti rezgésszám kétszeresével kell az adott kimeneten polaritást váltani. A csippanáshoz a sípolást időben korlátozni kell.
Én c-ben és egyéb okos nyelvekben nemigen vagyok otthon a mikrovezérlők terén, asm-ben ez pár egymásba ágyazott időzítési ciklus, hacsak nem használsz fel valamilyen hardver modult. A rezgéskeltéshez célszerű pl. pwm kimenetet használni, a csippanás hosszának belövéséhez pedig valamilyen timert. Ha megpróbálod megírni a kódot, és esetleg elakadsz, abban biztosan szívesen segítenek itt sokan, de kicsit visszatetsző dolog arra várni, hogy helyetted valaki majd megírja.
Aha, ezek jó hírek. Ha belevágsz, és sikerül valamileyn eredményre jutni, akkor szívesen olvasnék róla (és gondolom más is)!
Ezt az új USB-s PIC-et én is kinéztem magamnak, de legutóbb, amikor akartam venni, akkor még nem volt. Az új CDC-s fw-t meg megnézem majd én is, mert kifejezetten érdekel.
No, akkor mi a különbség a soft USART, meg a hard között?
Az, hogy a hardveresnél csak beküldöd a bájtot a kimeneti pufferbe, és a hardver a beállított sebességgel kilépteti a lábon az adatot teljesen függetlenül, hogy a processzor mit csinál. A szoftveres uart meg szoftverből billegteti a kimeneti lábat, mint amikor egy ledet villogtatsz.
Értem. Tehát, ha a procinak semmi más dolga nincs, mint a soros portok kezelése (nem kell kapkodni!), akkor több (4-5) portot is simán le tudok kezelni.
Egy témábavágó link, igaz, nem pont PIC mikrovezérlőhöz... de talán jól jöhet...
Már biztos álmos voltál, mert lemaradt a link Norberto!
Azért annyira nem sima az a simán, vannak ott korlátok bőven. Ha nem CCS-ben, hanem asm-ben programoznál, akkor te is látnád...
|
Bejelentkezés
Hirdetés |