Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Sziasztok !
Adott egy kommunikacios csatorna. (1 szal mazzag es kesz.) Amig egy bizonyos jel erkezik ezen a csatornan, addig a csatorna vegen levo eszkoz uzemel, ha ez megszunik, vagy megvaltozik, akkor mar nem. Hogyan tudnam izolalni ezt a vezerlo jelet, es sikeres PC-vel valo kuldes eseten esetleg egy onallo mikrokontrollerrel reprodukalni? Sajnos most USB-TTL atalakitom sincs, mert veletlen kinyirtam.... Debrecen kornyeken tudna-e segiteni ebben nekem vki ? Koszi elore is ! Udv, csrbv
Kommunikációs analizátor, esetleg PICKit2, esetleg tárolós szkóp, stb. De ennek semmi köze a PIC-ekhez.
A reprodukció mikéntjére már lehetne ötlet, ha ismerjük a jelet...
Szép napot!
Már megint u.a mint a 16f887-nél csak most 16f616 al játszanék. De megint valami nem jó nem indul be a belső osc. És megint csak ha xorolom a portot, akkor van freki, de egy sima késleltetést se tudok elintézni. Mi az isten lehet?
Kipróbáltam 4Mhz-es kristállyal is. Ugyanaz. Valaki hallott már ilyet?
Állítsd be azt is, hogy belső oszcillátorról akarod hajtani, ne csak azt, hogy ha belsőről hajtanád, akkor 8MHz-et akarnál. Tedd még oda azt is, hogy _INTOSCIO a konfig sorba.
igen sajna úgyis próbáltam. De ez miért lehet, hogy fit a program a xorolt portlábon van üzem freki, de nemtudok késlelteni. A regisztereim megfelelő helyen vannak. Mi lehet a gond, ez nagyon bosszantó!!
Tedd fel mi nem működik! Szimulációban letesztelted a kódod?
Idézet: „De ez miért lehet, hogy fit a program a xorolt portlábon van üzem freki, de nemtudok késlelteni” Ez mit jelent?
Ha pl xorolom a portokat akkor mérek rajta frekvenciát, sőt megvan a 4Mhz-es üzemi frekvencia. Ebből következtetek hogy a program fut. Az általános célú regisztereim is jó helyen vannak. És pl már a tmr0-át sem tudom használni. Gyakorlatilag ki be tudom kapcsolgatni a portokat.
Mutass egy képet arról, hogy a PIC-et beégetted, visszaolvasáskor egyezik a tartalom!
Az nem megy mert az lpt portos égető nincs itt a jdm-es cucc meg sosem olvassa vissza rendesen
Akkor az könnyen lehet, hogy sosem íródik be rendesen. Először az égetés legyen jó, amíg az nem jó, addig felesleges a kódon agyalni.
Igen, de ez a program annyira alap és mindennel megy, csak a 16f887 meg a 16f616 csinálja ugyanezt:S Nem tudsz egy soros portra való égetőt ami tudja ezt a típust írni? Mert nekem a winpic800 nem megy. az Ic-prog -ban meg nincsen ilyen. Watt programozóját használom, ami jó, csak meg akarok bizonyosodni hogy nem e valami mégis ezekkel a típusokkal nem megy
A Microchip Application Libraries elvileg tartalmazza az USB Framework, Graphics Lib, MDD, TCP/IP stack, stb elemeket. Mit rontok én el, amikor letöltöm az MCHP_App_Lib_v2010_10_19_Installer.zip (106 Mb) filét, majd kitömörítés után megkapom a Microchip Application Libraries v2010-10-19 Installer.exe -t. Ez utóbbi mégcsak elindulni sem akar nemhogy forráskódokat találnék benne.
Sikerült beállítanom a winpicet és megy a 887 és 616 is
na mármint a 877 a 887 a fiókban
Azt az exe-t el kellene indítani, feltelepíteni (bár ezt én sem igazán értem, hogy minek), és akkor ahová telepíted, ott lesznek a forráskódok. Utána a kódokat átrakhatod máshová, csak a start menűbe is rak valami parancsikonokat, azok válnak használhatatlanná.
Megvan a megoldás: tűzfal nem engedte elindulni a program telepítését.
Na, én is észért folyamodom ide
Olvasgattam a PIC 12F615 (és társai) dokumentációját és azalapján nekem erősen az jött le, hogy ezek a chipek külső oszcillátor nélkül is működőképesek. Másutt azonban gyakorta állítják, hogy nem. a) Kinek van igaza? b) Ha oszci nékül is megyen, mennyire instabil? Emellett az MCLR láb mellőzhetőségéről is akadt a doksiban pár sor, ennek tapasztalatairól is szeretnék felyhomályosítást kapni. Ha egyik sem igaz, mit lehet egyáltalán kezdeni a DIP8 megmaradt 4 lábával? Előre is köszi az agytot
Szia!
8MHz-es belső oszcija van. Nem látom miért ne lehetne használni! ? Stabilitása gondolom olyan, mint a többié, azaz megfelelő. Én sok 4MHz-es belső oszcit használok USART- al, nincs sok gond velük. Ha az MCLRE bitet kikapcsolod a konfigban(0), akkor a láb bemenet lesz, használható. Ezzel sincs sok gond, működik...
Lehet, hogy a WPB nem jól kezeli ezeket a típusokat. Sajnos jelenleg nincs időm és PIC-em, megnézni mi lehet a gond, de ígérem, hogy megteszem hamarosan.
Szia!
Sokszor leírtam már, de a funkciókból ki is következtethető: Belső oszcillátorral működő, letiltott MCLR funkciójú kontroller esetén a programozással probléma lehet, ha a PGC vagy PGD kivezetések kimenetek. - Az ilyen beállítással bíró kontrollerek a "Vpp first programming entry" módon programozhatók, ehhez viszont az kell, hogy a programozó kapcsolja / adja a Vdd feszültséget. ICSP lehetőségnél figyelembe kell venni tervezéskor: A MCLR lábra kapcsolódó kimenet viselje el a Vpp feszültséget is, a kártyán a Vdd - re, a PGC és PGD vonalakra kapcsolódó elemek ne terheljék túl a programozót / kontrollert (sem statikusan, dem dinamikusan a szűrőkapacitásokkal). Ha a kontrollert önmagában programozzuk a Vpp first módszerrel, kerülendő a MCLR - Vdd közötti ellenállás használata, a MCLR lábat az ellenállással a fölre húzzuk. - A PGC és / vagy PGD vonalak kimenetté állítása - néhány típusban T1 oszcillátorként való felhasználásra - elé a programba tegyünk néhány ms várakozást. - A Power On Timert engedélyezzük. Magyarázat: Mivel nincs hatása a MCLR alacsony szintjének, a kontroller a belső órajellel elindul a Vdd bekapcsolásakor. Ha a programozónak nincs ideje a kommunikációt megkezdeni, a PGC / PGD láb kimenetté állítása előtt, nem fogja a kontrollert detektálni.
Tehát, ha jól értelmezem, a problémát esetünkben az jelenti, hogy a kontroller futni kezd, ha Vdd előbb érkezik, mint Vpp, erre kell odafigyelni, ha nem számolunk azon esettel, hogy a már beépített kontrollert is írni szeretnénk.
Esetleg, ha egy plusz PC-kimenetre takott p-MOSFET segítségével "késleltetem" a Vdd -t, az megfelelő megoldás ezesetben? Gondolom, ekkor nem árt, ha a MOSFET a táp és az LM7805 közé kerül, hogy a fesz tekintetében ne szivassam meg magam. Avagy? Köszönöm az eddigi válaszokat!
Szia!
Nem kell külső elem... A program elejére tegyél be egy néhány ms késleltetést, még a TRISIO állítása elé, engedélyezd a Power On Timert is. Ez elég... Tapasztalatok szerint a 7805 elviseli ezt a megterhelést...
Még egy kérdés, melyik WPB-t használod?
Idézet: „na mármint a 877 a 887 a fiókban” Ez a mondat(bár se kezdőbetű, se írásjel, azaz nem mondat) mit jelent?
Remélem jó topicba szól: Van valakinek watt Úr égetőjéről nyákrajza? wppt-re gondolok.. Megköszönném !
Megvettem a PICkit 3-am próbálgattam hogy a D port 4-4 ledje felváltva villogjon de valami nem jön össze...
[qute] LIST P=18F45K20 #INCLUDE ORG 0x000 SZAMLALO EQU 020H MOVLW 0FFH MOVWF OSCCON CLRF TRISD KEZD1 MOVLW B'11110000' MOVWF PORTD MOVLW 0FFH MOVWF SZAMLALO GOTO KESLELTETES MOVLW B'00000000' ADDWF PORTD KEZD2 MOVLW B'00001111' MOVWF PORTD MOVLW 0FFH MOVWF SZAMLALO GOTO KESLELTETES MOVLW B'00000000' ADDWF PORTD GOTO KEZD1 KESLELTETES DECFSZ SZAMLALO GOTO KESLELTETES RETURN END [/quote] A 4,5,6,7 led világít és semmi más nem történik. Mit rontottam el? A config bitben beállítottam az oszcillátort belsőre a watchdogot és a power up timert kapcsoltam be.
Szia!
A program stack hiba miatt ujraindul, mert a KESLELTET rutin üres stackből felvenne egy címet. A goto KESLELTET helyett call KESLELTET vagy rcall KESLELTET utasítást használj, ezek a visszatérési címet leteszik a stack-re, amit a return majd fel tud venni. Használd a szimulátort - egyes kontrollerek csak kevés újraprogramozást bírnak..
AHA
Működik!! A suliban is ezt rontottam el párszor most már csak megtanulom... Akkor a GOTO-t mikor is kell használni?? És mikor kell a CALL?? Nem igazán értem a két parancs közt a különbséget. |
Bejelentkezés
Hirdetés |