Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Idézet: „Nincs valami másik windowsos C fordító legalább ds33F családhoz?” Hi-Tech, CCS (amelyikben benne van a D: PCD, PCWHD) De fizetősek. Idézet: „Ja igen, akad valami olcsóbb termék esetleg, amihez jogtisztán az üzleti verziót is ideadják a C fordítóból?” PCD command line, $250 (bocs, azt nem tudom, hogy "üzleti"-e...)
Köszi, majd nézelődöm.
Más. A tcp/ip stack kódjába ásta már be magát valaki? Már úgy értem, kicsit mélyebbre a felületnél.
Ez az ENC28J60-as témába való kérdés, szerintem ott folytassuk.
Sziasztok!
PIC12F675 belső OSC és belső RESET esetén az ICD2 figyelmeztet, hogy ez így nem biztos, hogy jó lesz és sajnos már van is miatta selejt ( később nem veszi az újabb programot, hiába próbálom előtte törölni!). Miért van ez, illetve lehet-e ellene valamit tenni ? Steve
Nekem mindig vette az új programot, már néhányszor csináltam ilyen felállást. Csak arra vigyázz, hogy amikor jön a figyelmeztetés, akkor ne pipáld be, hogy ne kérdezze többet, mert akkor utána hiába a Folytatásra mész, akkor is úgy veszi legközelebb, mintha a Nem-re kattintottál volna. Amúgy nem rossz dolog némi várakozást tenni a program legelejére, még mielőbb bármit csinálnál, vagy bekapcsolva tartani a PowerOnTimer-t, vagy valami ilyesmi nevűt - konfig biteknél megtalálod.
Elvileg úgy lehet visszahozni az ilyen chipeket, hogy előbb kapcsolod rá a Vpp-t, mint a tápot, de nekem is ICD2 van, annál meg nincs ilyen lehetőség, ha jól nézem, és nekem mégis működik. Gyári ICD2-d van, vagy utánépített? Ha utánépített, akkor honnan van a kapcsolási rajza?
Gyári ICD2-t használok. Most rontottam el vele 3-at, mert a PK2-nél nem írta ki és mikor már "alap LED be" se ment, utána vettem elő az ICD-t és akkor láttam, hogy ezt a konfigurációs beállítást használtam ( egy korábbi projektet akartam módosítani)!
Többször használtam már, de egyszer már találkoztam ilyen hibával! A PowerOnTimer be van kapcsolva. Ezt a Vpp-s dolgot hol olvastad, én még nem láttam ( mindenesetre kipróbálom !) !? Van itt valami időkorlát, vagy tápról, manuálisan ki tudom próbálni? Steve
Szerintem nincs időkorlát, de a Pickit2-ben van ilyen pipadoboz, "Use Vpp first" vagy valami ilyesmi néven. Lehet, hogy nálad már a chipek PGD és PGC lábai ki lettek nyírva, mert ha a chipen ezek kimenetként vannak használva és szembekapcsolódik velük az ICD2, akkor ott lehet, hogy tönkremegy a láb (bár nekem még így nem ment tönkre, de az én ICD2-m leválasztott, nem szoktam direkt kisérteni a sorsot, csak ha nagyon muszáj).
Idézet: „Ezt a Vpp-s dolgot hol olvastad, én még nem láttam ( mindenesetre kipróbálom !)” Vagy itt ebben a témában, vagy egy hasonlóban itt az oldalon volt már néhányszor szó róla.
Lehet, hogy tönkrement a láb, de nem értem... a programozó, amíg nem kapcsolja programozás üzemmódba a PIC-et, addig szerintem "nem ad ki szintet", csak utána erőlködik és ha a PIC jó, akkor a programozási üzemmódba belépve a lábait bemenetnek teszi...
Nem jól gondolom? Steve
Mit értesz "belső RESET"-en? Nekem az alábbi konfigurációval és PICkit2-vel nem volt gondom:
Nem jól gondolod. Az ICD2 kimenetként hagyja a lábait akkor is, amikor nem folyik programozás. Meg a Pickit2 is alapból így hagyja, ha jól emlékszem, csak ott be lehet pipálni, hogy 3-state-be rakja, amikor nem csinál semmit.
Szia!
A beállítás a képen látható. Általában nekem sem volt vele gondom, csak egyszer a múltkor, illetve most a PK2-vel kezdve... Köszi a segítséget mindkettőtöknek, most mennem kell, majd este visszanézek! Steve
Nekem egy 18F1320 halt meg hasonló módon. Ez lenne a tökéletes programvédelem, ha már bennt van a kód, és azt a lábat nem használnád másra. Elég nagy marhaságnak tartom ezt a kiosztást, nem igaz, hogy nem jöttek már rá a 1320-nál és később is ezt használják!
Üdv!
Lenne egy rövidke quiz kérdésem! Ez a hibaüzenet mit jelent? "Found opcode in column 1. (BCF) MPLAB IDE 8.36 ot használok asm ben programozok egy PIC 16F877A-t és egy csomó ilyen warningom van. Előre is köszi!
Ahogy irod az warning, nem error (figyelmeztetes csupan, nem hiba). Es ahogy mar joparszor szo volt rola itt a forumon, nem szabad utasitast az 1. oszlopban kezdeni -- minimum egy space vagy egy tab kell ele, ugyanis az 1. sorban csak cimke lehet (annak viszont csak ott szabad lennie...)
Hello,
PIC18LFxxxx ki/bekapcsolását szeretném megoldani érintőkapcsolóval, 1 érintkezővel, ehhez kérek segítséget! A PIC INT0 lába konfigurálható fel vagy lefutó élre érzékenynek, és képes sleepből ébreszteni. Ehhez elég egy rövid impulzus is. a) Próbálkozzak a láb közvetlen megérintésével bekapcsolni? ( Kössek-e rá zenert ESD védelem céljából esetleg? Nem növeli meg az túlságosan a láb kapacitását? ) A mellékelt kapcsolást raktam össze deszkamodellen, ami először működött, csak elég erősen kellett a gate lábat megérinteni. Aztán a tranzisztort kidrótoztam, hogy könnyen cserélhető legyen, kipróbálhassak több fajtát. Ekkor talán a hosszú vezetékek miatt már nem adott interruptot. b) A kapcsoláshoz kérnék szépen ötleteket, hogy érzékenyebb legyen! ( A PIC Li-ion akksiról megy, a rendelkezésre álló tápfesz 3 .. 4,2V. Fontos, hogy kikapcsolt állapotban a fogyasztás ~0 legyen. ) A tranzisztor be/ki kapcsolásával kapcsolatban: A neten talált kapcsolások (1,2) n-csatornás jFETet alkalmaznak, negatív fesz, illetve a megérintéskor rátett negatív töltés zárja el őket. P-csatornás növekményes MOS-t választottam, hogy hasonló körülmények közt nyisson és érintés nélkül ne fogyasszon. c) Vajon mindig negatív töltést teszünk rá a megérintett tárgyakra? Mennyire függhet ez a ruhától, stb? ( az INT0 lábra egy gyenge felhúzó ellenállás és megérintéskor létrejövő lefutó él lehet jó? ) d) Az Érintőkapcsoló topicban olvastam egy másik magyarázatot, hogy a brumm-fesz kapcsolja a FET-et. Mekkora lehet ez a feszültség kb? köszi, Bul
Igen, tudom, ezt is azt hiszem kb egy éve Te mondtad pont. Csak azóta nem volt időm PIC-ezni és most megint hozzá nyultam, és ilyen alap kimaradt, mkikor olvastam hogy mit is jelent az az üzenet, akkor erősen a fejemhez csaptam
Nem tudom emlékeztek-e kb egy éve voltam Franciaoban ahhol egy robot vezérlését terveztem (akkor kezdtem el asm-ezni) és Ti sokat segitettetek. Ma kaptam a hirt hogy a nyáron megrendezett versenyen a robot az országos döntőben kategóriájában első lett. Szóval köszönöm a segitséget srácok!
Sokmindent kerdezel egyszerre. Eloszor is, ki-be kapcsolonak valami ilyesmi aramkor (marmint ha az rendben van ha a PIC teljesen ki van kapcsolva). Most az mellekes, hogy az impulzust mi okozza, hogy az most egy kapacitiv erinto kapcsolo vagy egy mechanikus nyomo gomb.
Masodszor, en eleg merdek otletnek tartom a zenert ESD vedelemre. Hogy fog az mukodni? Normalisan elegendo egy ellenallas es egy dioda, de a dioda altalaban elegendo az ami a PIC-en belul van, szoval egy soros ellenallas. Mindenesetre lehet a tuske olyan gyorsan jon, hogy a zener meg ki sem nyit de mar a tuske az aramkorodon van... Harmadszor, az akksi utan milyen regulator aramkort terveztel? Ezt nem irtad. A C pontot sem egeszen ertem? Ha felhuzod akkor nem lefuto elre kellene koncentralni?
[OFF]
Idézet: „a nyáron megrendezett versenyen a robot az országos döntőben kategóriájában első lett. Szóval köszönöm a segitséget srácok!” Gratulalok! Akkor Te mar tul vagy a "Nullatol a robotokig"-on
Elkezdtem irni egy riasztó programot, de elakadtam, vagyis a program hibátlanul lefordul és félig működik is, de nem értem miért nem megy rendesen.
Ha ránéznétek a kódra ésa dnátok pár tippet, nagyon megköszönném. A lényeg, hogy odáig megy hogy a PORTB1 en megjelenik a logikai egy, és aztán ennek hatására a PORTE1-en logikai egynek kellene lennie, de nem... Ime a kód: [code=c] LIST P=16F877 #INCLUDE "P16F877.INC" __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF&_LVP_OFF ;A 0x20 egy szabad memória rész kezdő címe CBLOCK 0x20 T1 T2 T3 CLOSED GOMB ENDC ORG 0 #define AOK PORTD,3 ;riaszto visszalyelzo /riaszto be/ #define DS PORTB,0 ;nyitas erzekelo #define HORN PORTE,1 ;kürt #define S1 PORTB,1 ;riasztas nyuktazasa START ;banksel PORTB ;clrf PORTB banksel TRISD ;Selects bank containing regiszter TRISD clrf TRISD ; All port D pind are configured as outputs banksel PORTD ; Selects bank containing register PORTB ;********************************************************************** ; riaszto visszajelzo villog ALARMOK ;BCF HORN ;kürt némítása BSF AOK CALL DELAY BCF AOK CALL DELAY BSF AOK CALL DELAY BCF AOK CALL DELAY goto DOOROPEN ;riazto visszajelzo vege ;************************************************************************************* ;ajtonyitas erzekeles DOOROPEN ;detection of the door opening ; banksel PORTB ; movf PORTB,w ; movwf CLOSED MOVLW PORTB MOVWF STATUS BTFSC STATUS,0 ; ha a PORTB,0 = 0 akkor ugrik ALARMOK-ra GOTO ALARM GOTO ALARMOK ALARM ; riasztas inditasa ;banksel PORTD ;movf PORTD,w ;movwf PORTD BSF HORN CALL DELAY BCF HORN CALL DELAY BSF HORN CALL DELAY GOTO PRESS PRESS ; riasztas nyuktazasa MOVLW PORTB MOVWF GOMB BTFSC GOMB,1 ;ha PORTB,1 =0 akkor ugrik GOTO ALARMOK GOTO ALARM DELAY MOVLW d'50' MOVWF T1 DEL MOVLW d'50' MOVWF T2 DEL1 MOVLW d'20' MOVWF T3 DEL2 ;NOP ;NOP ;NOP ;NOP ;NOP NOP NOP NOP NOP NOP DECFSZ T3,f GOTO DEL2 DECFSZ T2,f GOTO DEL1 DECFSZ T1,f GOTO DEL RETURN MOVWF T1 END ;PROGI VEGE [/code=asm]
Még vannak hiányosságom, mint az alábbi ábra is mutatja
Sziasztok.
Megcsináltam Topi Az inteligens LCD modulok használata című cikkéből a próbakapcsolást. Az lenne a kérdésem, hogy mikor azt akarom hogy az LCD olvassa le a bemeneteire adott értéket akkor az E testre vagy +5V-ra kell felhúzni?
Szia!
Csak rápillantottam a kódodra, szóval azon kívül amit írok, lehet még benne hiba! Ami hiányzik a kódodból az az E port irányának beállítása (TRISE), mert resetkor bemenetként vannak konfigurálva a lábak. Hardverileg MCLR láb fel van húzva tápra? Hidegítő kondenzátor a táplábaknál ott van? Üdv. Szerk.: Az E port lábai alapból analógok is, emiatt az ADCON1 regiszterbe is be kell tölteni a megfelelő értéket!
Az I. rész 2. ábrája (a kapcsolás) hibás:
Az 5. bemenet nem E, hanem R/W (az van földön) A 6.bemenet nem R/W hanem E (az van a nyomógombra kötve). Meg kell nézni a konkrét LCD adatlapját is, és ellenőrizd a bekötést, illetve az, hogy szereti-e ha az E bemenet alaphelyzetben magas szinten van! A másil dolog a nyomógomb pergése, amin elvérezhet a kísérlet. Erre a 3. ábrán látható pergésmentesítő áramkör lehet a megoldás.
Azt láttam, hogy rossz a kapcsolás.
Már átellenőriztem párszor, a pergésmentesítést is megcsináltam->alapban 0V van rajta és ha a kapcsolót megnyomom akkor lesz 5V-rajta.
Lehet benne valami amit mondasz, de E port előtt a D vel is próbálkoztam, de ott sem ment, és az ott lévő villogó visszajelző LED meg ment... Minden esetre megnézem ezt a TRISE dolgot!
A hardveres dolog ugy van ahogy mondod Köszi!
Sziasztok!
Szeretnék készíteni PC-hez egy USB-s légnyomásmérőt, mely alkalmas lenne magasságmérésre is. Nem akarnék az elektronikára semmi extrát, épp csak le lehessen kérdezni a szükséges információkat. Megrajzoltam a kapcsolást. A nyomásmérő szenzor az MPX4115A lenne, mert azt könnyen be tudom szerezni és elég pontos. Az USB-s kapcsolat pedig FT232RL-en keresztül menne. A táp is az USB kábelen keresztül jönne. Mellékelem a kapcsolásom és itt a forrás is, amit felhasználtam: Forrás A PIC18F1220-as erre a célra szerintem bőven elég kell, hogy legyen. Valaki meg tudná mondani, hogy a kapcsolásban elkövettem-e esetleg valami nagy butaságot? Nem vagyok benne biztos, hogy a PIC-et jól kötöttem össze az FTDI chippel és a szenzor bekötésében sem vagyok teljesen biztos. Nem tudom, hogy a műveleti erősítőn keresztül milyen pontosan kapom meg a jeleket és így mekkora lesz a felbontás. Előre is köszi a segítséget! Üdv.: Zoli
Érintő kapcsolóhoz felesleges túlságosan megbízni a sztatikában. Rámarni a nyákra egy fésűszerű vezeték pamacsot, ujaddal rátapicsolva leszeded az ellenállást 1M alá, egy tranzisztornak bázis áram gyanánt simán elég lesz behúzni róla.
|
Bejelentkezés
Hirdetés |