Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Nézz utána mi az a Schmitt Trigger(google segít! De az adatlapban is specifikálva vannak a bemenetek!) Ha ez megvan, akkor már tudni fogod, hogy miben másabbak, mint a TTL szabvány bemenetek(ami szintén megtalálható a google segítségével).
Leírtam az oldalamon, mit gondolok a PIC kezdésről. Ha érdekel olvasd el! (Megjegyezném, hogy az ilyen jellegű kérdések a - Kezdő kérdések - topicjába valók!)
Ha ugyanaz mint a schmitt kör, akkor eltérő feszültségen billen át és vissza. kerámiakondenzátorral csatolva esetleg lehet felfutás vagy lefutás detektálására használni.
Rendben elolvasom az oldalad.
A felfutás, vagy lefutás érzékelését kondi nélkül is meg lehet oldani bizonyos erre való bemeneteken(INT, CCPx).
Idézet: „Ha ugyanaz mint a schmitt kör” Ismét javaslom az adatlap ide vonatkozó részét(15. és 16. fejezet)
Sziasztok!
Assembly fordítással probálkozok, de ezel a hibaüzenettel leáll: Preprocessor symbol '_DEBUG' is defined. MPlab beállítási hiba, vagy valamit kihagytam? Ha valaki tud segítsen, előre is köszönöm. Idézet: „Preprocessor symbol '_DEBUG' is defined.” Ez nem csak egy warning (figyelmeztetes)? Hanyas MPLAB-od van?
Az MPlab 8.10, de van van 5.7 és hatos is.
A fordítás végig fut és a végén pirosodik be. Az err filében nincs semmi. Ide szúrom az egész üzenetet: Debug build of project `E:\MP_Lab_programok\Usart\Usart_proba.mcp' started. Preprocessor symbol `__DEBUG' is defined. Clean: Deleting intermediary and output files.Clean: Done.Executing: "E:\Microchip\MPASM Suite\mplib.exe" /q /p16F877 "USART_Sample_877.asm" /l"USART_Sample_877.lst" /e"USART_Sample_877.err" /d__DEBUG=1Syntax: mplib [/q] /{ctdrxh} LIBRARY [MEMBER...] /q : quiet mode /c : create library LIBRARY /t : list library LIBRARY /d : delete MEMBER from LIBRARY /r : add or replace MEMBER in LIBRARY /x : extract MEMBER from LIBRARY /h, /? : show this help screen Halting build on first failure as requested. ---------------------------------------------------------------------- Debug build of project `E:\MP_Lab_programok\Usart\Usart_proba.mcp' failed. Preprocessor symbol `__DEBUG' is defined. ---------------------------------------------------------------------- BUILD FAILED
Köszi a segítséget!
Menne is a dolog, ha boldogulnék a megszakítással. Engedélyeztem minden szinten, csak arra nem találtam utalást, hogy tudom a megszakításkor a saját programomra irányítani a vezérlést. Ha jól értem, a 0004H regiszterbe kell írni a címet. De honnan tudom, hol kezdődik egy adott programrészlet?
A nulláról a robotokig című cikksorozatot elolvastad?
setup_adc_ports(ALL_ANALOG);
Szerinted ezután az RB0 láb milyen üzemmódban fog működni ? Idézet: „Assembly fordítással probálkozok, de ezel a hibaüzenettel leáll: Preprocessor symbol '_DEBUG' is defined.” Ez nem hibaüzenet, és nem is ez az oka, hogy a fordítás nem sikerül. Idézet: „ Executing: "E:\Microchip\MPASM Suite\mplib.exe" /q /p16F877 "USART_Sample_877.asm" ” Itt van a probléma, mert nem az mplib-nek, hanem az MPASMWIN.exe programnak kellene lefordítania az .asm fájlt! Félre vannak konfigurálva a projekt beállításai! Kezdd előlről a Project Wizard-dal, vagy nézd át a Project/Build Option/Project menüben a beállításokat! Pl. MPASM/C17/C18 Suite lapon: Build normal target legyen kiválasztva.
Sziasztok!
A következő a problémám: Van egy 12F675-ös PIC, ami egy távirányítónak a lelke. Az egész áramkört 5V alatt teszteltem/ debuggoltam, és minden rendesen működött. Mivel távirányító, ezért két ceruza elemről szeretném hajtani, de ilyenkor teljesen meggajdul az egész program, őrült módjára elkezdi végtelen ciklusban kirakni az infra led-re az egyik utasítást. (Pedig a megszakítás lekezelése után elküldöm aludni). Belső oszcillátort használok, 4 MHz, ilyen gyorsaság mellett 3V-ig garantálják a működést, ami le is jön az elemekről (3,08V). Terhelve 2,96V. Ekkora eltérés már okozhat hibás működést? A bemenetek a belső felhúzóellenállásokkkal vannak a tápfeszen. A TTL bemenet miatt sem lehet gond, specifikáció alapján 2V felett már HIGH szintnek kell érzékelnie. Volt már valakinek hasonló problémája, vagy valami ötlete? Blint
Szerintem bekapcsolva hagytad a BOR bitet és folyamatosan RESET-el (( a távirányító működtetésénél lehet lecsökken egy minimális időre a tápfesz --> kondi) !
Steve
Szia köszi a választ én is rájöttem közben hogy nagy hülyeség mert igy az összes A/D átalakításra képes lábát analógra álítottam :d Kösz még1x!
Nem csak megszakítással lehet megoldani, bár azzal érdemes.
Viszont a kérdésedből komoly fogalmi és logikai hiányosságokra is fény derül. A 0004h-n nincs regiszter, programmemória van ott(flash). Regiszternek a RAM-ban található adatok helyét szoktuk hívni, bár ezen lehetne vitatkozni, én úgy gondolom ez a gyakorlat. A programmemóriában lévő parancskódok helyét esetleg rekesznek nevezhetnénk. A megszakítás automatikusan a 0004h címre adja a vezérlést(PCL-be tölti a címet). Az adatlapban le van írva hogyan kell lekezelni a mentéseket és hogyan kell visszatérni a megszakításból. A többi ugyanaz, mint ha nem megszakításban futna a program, szemelőtt tartva azt a tényt, hogy a fő programszál valahol megszakadt és a megszakítás befejeztével onnan folytatódik...
Kössz Watt !
Úgy néz ki kifogtam egy kicsit agysérült procit , vagy a Wellerrel történő TQFP százlábú beforrasztás nem tett jót neki ...ehhe.. Kérdés: MPLAB 8.15 vagy 8.20 Adot egy debugger ICD2 vagy PICKIT2 Adott egy főprogi, pl main.s Adott egy másik fájl , pl serial.inc ( vagy .s) main.s -ben: .include "./serial.s" Lefordul , fut . A pr.mem ablakban jó is a prog counter mutató zöld nyilacska , de ha a forrás kódot nézem teljes hülyeséget csinál ... Léptetésnél csak a main.s ben hajlandó ugrálni, amikor olyan kód jön ami a serial-ban van azt végrehatja rendesen, de a main ablakot mutatja végig ...( nem tom érthetően írtam-e) Tehát main-ban ugrándozás van , akárhol fut is a kód ( végülis jól, csak láthatatlanul ) Makróknál a helyzet ugyanez... Nem szeretek vakrepülni, főleg ha ismerkedésről van szó ...... Mit szúrok el ? Üdv WTC_sysOP
Mindegyik ikonnal(3 különböző van) próbáltad a lépésenkénti végrehajtást? Esetleg hívd fel a assembler ablakot, igaz nem C-ben, de többet látni.
Assemblerrel próbálkoznék ( Céhő nem értek ) ( ASM30 ), gyakorlatilag az includolt fájlokba rakott br. pointot sem ismeri fel .... .. De akkor hogy fut ?
PIC18 -al simán ment ez , pic33-al meg nem ....
Most nincs 33-al projectem, és amikor volt nem emlékszem, hogy használtam volna headert, így most ebben nem tudok többet segíteni, esetleg ha lesz időm otthon megnézhetem.
Már gondolkoztam korábban rajta, hogy a VRR bittel is variálva hány és milyen szintű állapot állítható elő, most kiszámoltam egy táblázatba. Ha nem számoltam el semmit, akkor 28 különböző értékű komparálási szint állítható elő (persze nem azonos távolságokban vannak egymástól).
Véleményem szerint "elektromos" probléma lesz, azaz mindenek előtt jó lenne tudni, hogy a nyomógombod hogy van bekötve, mit kapcsol.
Az adatlapban nézd végig a port-ok leírását, mindegyikről írnia kell, hogy hány bites és milyen módon használhatók a bitjei. Pl. ha van olyan, hogy csak bemenetnek használható egy portbit, vagy valamelyik kimenet open drain típusú, akkor azt külön ki szokták emelni.
Szevasztok!
Találtam a neten egy Oshon-os programozó kapcsolási rajzát. Ezzel milyen típusú PIC-eket lehet programozni?
Keresd meg hozzá az Oshon parallel programozó projekt honlapját, mert szükséged lesz az égetéshez egy működtető programra is. Ott megtalálod a támogatott eszközök listáját is.
Látogasd meg továbba Watt mester honlapját, ahol jól összeszedetten megtalálod többféle programozó és égetőprogram ismertetőjét. A Watt honlapján is említett Winpic800 még több féle égető és PIC kezelésére alkalmas.
Valóban, még csak most ismerkedem a PIC-ekkel, így tévedek is többször. A mentések és a visszatöltések tiszták voltak eddig is. Amit nem értettem: hogy kerül a vezérlés egy adott kódrészletre. Azt hittem, létezik valamiféle ugrótábla, amit előre fel kell tölteni. A potyo által javasolt cikksorozat (Nulláról a robotokig) és a te válaszod azonban megvilágosított.
Köszönöm a segítséget! Péter
Sziasztok!
Szeretném elkezdeni a PIC-es áramkörök építését,elég sokat olvastam itt róla és nagyon tetszik! Szeretnék vásárolni egy égetőt,és szeretném kérni hogy ajánljatok nekem hogy milyen égetőt és PIC-et vegyek,és hol! Válaszotokat előre is köszönöm! Üdv!
Ha már olyan sokat olvastál itt róla, akkor már olvastad is a válaszokat a kérdéseidre. Szóval egyből lódítással indítottál...
Nézz fel az oldalamra, megtalálod a választ.
Kösz a segitséget, az MPLAB beállítása sikerült és már hiba nélkül lefordítja. A miniteszter (soros vonal ellenörző) érzékeli a csatlakoztatást, a PC-ről küldött adatokat érzékeli, de kiértékelésnél midig 255 ir az lcd-re. Lehetséges az MPLAB-bon belül ugy tesztelni a programot, mintha a port lábaira kivülről kapcsolnék alacsony vagy magas szintet?
Kösz asegítséget! Idézet: „A miniteszter (soros vonal ellenörző) érzékeli a csatlakoztatást, a PC-ről küldött adatokat érzékeli, de kiértékelésnél midig 255 ir az lcd-re.” Kapcsolási rajz és/vagy leírás nélkül ez így érthetetlen számomra. Idézet: „Lehetséges az MPLAB-bon belül ugy tesztelni a programot, mintha a port lábaira kivülről kapcsolnék alacsony vagy magas szintet?” A szimulátorra gondoltál? Igen, lehet. Stimulus-ra keress rá.
Sziasztok
Típusajánlást szeretnék kérni. A feladat, soros adatátvitel. PIC-el milyen sebességet lehet MAX elérni -gondolok itt a PIC belső UART-jára-? Nekem minimum 100kb/sec-es sebesség kell. Megoldható-e ez mikrokontrollerrel, esetleg mit tudtok ajánlani helyette? Mi a maximum ami még PIC-el megvalósítható? |
Bejelentkezés
Hirdetés |