Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Sziasztok!
Egy másik megoldás: Legyen a W -ben a kiviendő minta, aminek a felső 4 bitjeit kell valamelyik 8 bites portra kiírni.
A maszk persze az igényeknek megfelelően változtatható. Lényegesen rövidebb lehet így a kód. Probléma akkor lehet, ha a beolvasáskor (a két xorwf utasítás beolvassa a port értékét) nem a kimeneti regiszterbe írt értéket kapjuk meg. Pl.: Ha valamelyik portbitnél a feladat igénye miatt a TRIS bitet kell időről időre állítani. Ekkor azokon a biteken, ahol a TRIS bit 1, a bemeneti értéket kapjuk meg, és ezen értékkel fog számolni a xorwf. Azaz e műveletek elött, a nem módosított biteken már beáállított értékek mégiscsak módosulhatnak. Ennek a problémának a kiszűrésére kell az árnyékregiszter.
ezeknek lehet hatása arra, hogy az RCREG tárolóm az PIR1,RCIF szerint mindíg üres?
Hogy kötötted össze a modult a PIC-el, és hogy volt összekötve a számítógéppel? MAX232-t vagy hasonló szintillesztőt használtál a géphez?
igen, a géphez MAX232 -t használtam. a PIC-hez ezt kiiktattam és rákötöttem a modul TX lábát a PIC 7-es, RX lábára
közel lehetek a megoldáshoz, mert amikor egy pillanatra leveszem a tápegységen az áramerősséget, elmegy ugye minden egy pillanatra, majd vissza és néha sikerül értlmes NMEA adatfoszlányokat a kijelzőre varázsolni.
Erre valami ötlet?
egy problémára rájöttem. elnéztem pár sort és SPBRG értékadása még a RAM Page visszaváltás előtt volt. Ezt javítva csinos inverz P betűket irkál a kijelzőre.
Sziasztok!
A soros vételi problémát végül sikerült megoldanom, végül Watt megoldását hoztam össze, a telefonszámokat indirekt címzéssel letárolom a RAM ba. Ez megy. Viszont eljutottam oda hogy a referencia telefonszámokat az EEPROM területen kéne tárolnom hogy aztán össze lehessen hasonlítani a bejövő hívásokkal (CID funkció...kapunyitás vezérlés meghatározott számról való híváskor) Az EEPROM ba 12 telefonszámot szeretnék letárolni, a PIC16F628A 128 bájtján ez el is fér, még marad is hely. "Öntanulós módszerrel" tanítanám fel a referencia számokat, ezzel sincs gondom. ( táp ráadása előtt egy nyomógombot lenyomva tartva egy elágazással a bejövő hívások az EEPROM ba tárolódnak el az INDF helyett) Úgy gondoltam megoldani hogy az EEPROM terület egy bájtját arra használom hogy eltárolja az utolsó használt EEADR címet. Új telefonszám tanítása esetén ezt a címet olvasná ki, és innét irná a telefonszámot, nehogy felülírja a meglévőket. Jó ez a megoldás szerintetek? Vagy van erre valami egyszerűbb is? Ti hogyan oldanátok meg? Előre is köszönöm
Hali mindenki..
Nagyon kezdő vagyok a tmémában.. de szeretnék beletanulni és szeretnék kezdetnek megépíteni egy kapcsolást... ezt: Bővebben: Link de nem 9V ről szeretném üzememltetni hanem USB ről.... ebben az esetben kell e valamit tenni a PIC elé vagy direktbe mehet neki az USB 5V -je? Vagy hogy kellene átalakítani a kapcsolást h jó legyen...?
A 7805 öt nem ülteted be és a kimeneti lába helyére kötöd az USB 5 V ját. A szűrésért felelős kondenzátorokat azért hagyd rajta.
szerk: pontosabban a panelen az IC ki és bemeneti pad jeit összekötöd. Ez esetben az eredeti módon használható a panel a tápcsatlakozóról. Csak nem 12 V ról jár hanem 5 V ról.
A másik módszer az, hogy a 0x00-kat tartalmazó telefonszám még üres, csak így nehezebb megkeresni az üres telefonszám helyét. Az általad leírt módszer egyszerűbb, viszont mi van ha ki szeretnél törölni egy telefonszámot ?
Én úgy csináltam a riasztómban, hogy a számokat a sim kártyán levő telefonkönyvben tárolom, és a "gazda..." nevűek tudják az élesítést megszüntetni, a "hivni..." nevűeket meg sorban végighívja riasztás esetén. Igaz ez rendes telefonnal van megoldva, annak meg ugye van kijelzője és gombjai amivel fel lehet a telefonkönyvet tölteni. Az nem jó megoldás hogy hogy a sim kártyát rendes telefonba átrakva a telefonkönvbe beírod ezeket a számokat? Ha törölni is kell néha belőle ez a megoldás egyszerűbb.
Igen ez lényegesebben egyszerűbb, átgondolom. Ráadásul már más is javasolta. A lényeg az egyszerűségen van a felhasználó oldaláról nézve. Bolondbiztosnak kell lennie mert akik használni fogják nem túl műszaki beállítottságúak. A törléssel kapcsolatban igazad van, egyenként kell kezelni a számokat hogy ne kelljen az egészet újra progizni ha törölni akarok egy számot a 12 közül. Újabb feladat, újabb kihívás...Ez a szép ebben, ezért szeretem ezt csinálni
Csinálsz egy szerviz SMS kódot, ami után írt dolgokat a PIC vissza leküldi a modulba az pedig végrehajtja.
Így távolról SMS ben bármit megtehetsz. Sim hozzáférés SMS olvasás , bármi....
Gondban vagyok.
Eddig használtam az oshosoft féle égetőt. A elmúlt 5-6 napban nem akart működni, próbáltam mindent. Megelégeltem, az este összeraktam az oldalon található égetőt, szétbontva az előzőt. Felismerte a PICet (16F877/16F877A). Olvasni tudta, írni nem akarta. Ma kipróbáltam, hogy kicserélem a soros ellenállást kisebbre, nem segített. Visszatettem a 330ohmost (ilyenem van itthon). Reggel megtaláltam, hogy a tápok nagyon zajosak(50Hz), ezért cseréltem a pufferkondenzátort. Most semmi zaj nincs a tápon, feszültségek rendben vannak, órajel, adatjel van. 4V feletti érték. Szkóppal ellenőriztem. Most még felismerni se akarja a PICet. Olvasáskor üresnek mutatja, íráskor, mint az este, már az első cellánál hibát ír ki. Most a WinPIC800 programból használnám. Van valakinek ötlete mi baj lehet? Kezdek mérges lenni
Próbáld ki másik PIC-el is.
Lehet nem az égetőben van a hiba.
Két PICem van, mint írtam, a 16F877et már régebben használtam, a 16F877At most rendeltem tartaléknak, még nem volt használva, bár a napokban próbáltam. Jelenleg nem bírom mással kipróbálni.
Anno velem is ez volt, csak már az elején nem bírta írni a PIC-eket. 3 különböző párhuzamos porti égetőt is megépítettem, de mind ezt a produkálta. Akkor döntöttem úgy, hogy áttérek USB-s égetőre, amikor linux alól is megpróbáltam írni, de nemhogy nem sikerült, de még a párhuzamos portot sem ismerte fel.
Ezzel nem azt akarom mondadni, hogy felejtsd el a soros portot, de ha egy hétnyi szenvedés után sem megy, akkor lehet az alaplapban van a hiba. Arról nem is beszélve, hogy 3 öcsiégető árából kijön egy PicKit2, ami sokkal kényelmesebb, és PIC égetésen kívül másra is lehet használni.
Elnézést, kapkodtam:
"Ezzel nem azt akarom mondadni, hogy felejtsd el a soros portot" Itt is párhuzamos portra gondolok.
A laptoppomon is próbáltam, ott se akarja. Ott kisebb a logikai 1es.
Eddig működött az oshosoft is. Még összerakom a régi gépem, megpróbálom arról mit csinál. Ha nem sikerül, mit ajánlatok, sorosporti JMDt érdemes-e öszeraknom (+/-12V megvan a soros porton). Vagy hétfőn küldjem apámat alkatrészekért, és rakjak össze egy PICkit2 klónt. Vagy valamivel kevesebbet tud mint az eredeti? Esetleg hol lehet akkor két napon belül venni? Sajnos késésben vagyok, minél előbb meg kellene írnom a programot a PICbe, de az se egy verzió lesz, legalább 2-3napig fogom változtatni. A JMDt valószínűleg össze tudom most is rakni, mert kell hogy legyen hozzá alaktrészem. Javaslat?
Bár én a JDM ellen vagyok, próbát megér.
Nagyon sok az ismeretlen tényező. Sajna nem nagyon lehet okosat mondani ilyen egyedi esetben. Végig kell járnod mi a hibás, mert ha már működött, akkor működnie kéne. Az oshonba cserélj IC-t de ne 7406-ot, hanem 7407-et tegyél bele és állítsd át a fázisait a vonalaknak a programban. Ha a csekkolások jók, akkor annak mennie kell.
Örömmel jelentem, hogy a PIC-kwik projekt keretében újabb fejezettel gyarapodott a PIC24 assembly és C programozásával foglalkozó tananyag.
A "Kiterjesztett pontosságú műveletek" c. új fejezet tartalma: * 32 bites adatmozgatás * 32 bites változók inicializálása * 32 bites bitenkénti logikai műveletek * 32/64 bites összeadás és kivonás * 32 bites inkrementálás és dekrementálás * 32 bites logikai eltolás * Kiterjesztett pontosságú feltételvizsgálatok * Előjeles egész számok ábrázolása * Túlcsordulás a kettes komplemens ábrázolású aritmetikában * Műveletek előjeles változókkal * Aritmetikai eltolás jobbra * Előjeles feltételvizsgálat * Előjel kiterjesztése * A BRA és a GOTO utasítás összehasonlítása Az eddig közzétett anyaghoz nem kell venni semmit, az ingyenes MPLAB szimulátorban kényelmesen tanulmányozhatók a jegyzetben szereplő mintaprogramok. Jó tanulást!
feszülséget szeretnék mérni pic-cel.
De úgy, hogy pl ha 3v alá csőkken a figyelt feszültség akkor egy led villágít. Hogyan tudom meg mondani az értéket a programnak? Tamás
ADC-vel vagy analog comparatorral tudod ezt megtenni. Az ADC-vel kiolvashatod az aktualis erteket es utana hogy mit csinalsz vele azt eldontod, a comparatorral pedig folyamatosan figyeltetheted, hogy 3 V ala csokken-e a feszultseg, ha igen kapsz egy interruptot vagy a comparator outputlabra kiteszed a jelet amire egy LED-et akasztasz es a tobbit mar csinalja a PIC magatol mig a programod foglalkozhat valami egeszen massal.
Ha csak jelzést akarsz 3v alatt, akkor a komparátort válaszd, mert az hardveresen el van magába, és csak egyszer kell konfigurálni. Ellentétben az ADC-t futtatni kell bizonyos időközönként, ha folyamatosan meg akarsz győződni a mért értékről.
Sziasztok!
Megpróbáltam a melékelt forráskódot lefordítani PIC16F628A-ra. Le tudná valaki ellenőrizni, hogy mindent jól csináltam-e? Előre is köszönöm.
A forráskód 16F84-re utal, azt át kellene írni a használt típusra, továbbá, ha az adott PIC include fájlját be include-olod, akkor a regiszter térképes rész felét meg lehet spórolni, és ha utólag valamit bele akarsz írni, akkor nem kell nézni, hogy az elején utaltál-e rá.
A 16F628-at ismerem, de az 16F84-et nem, adatlapból meg kellene nézni a lábkiosztásokat, hogy stimmelnek-e. Ahogy nézem, az elején az EQU-s részben vannak saját felhasználású regiszterek is, azokat hagyd meg a forráskódban.
Átírtam. Így már jó?
Még nem az igazi.
Jobban belenéztem a programba, és az a baj, hogy eléggé össze van kutyulva a memóriahasználata, ami mégnagyobb gond, hogy a program utal is ezekre a regiszterekre. Lehet rosszul mondom, de ez így szerintem soha nem is működött. Nem túl hosszú a kód, és a felépítése nem bonyolult. Szerintem a legjobb, ha nekiülsz és az adatlap alapján átírod. 13-14 oldal környékén vannak a memóriakiosztások.
Köszönöm a segítséget. Megpróbálom átírni, majd kiderül a végén hogy mi sül ki belőle. Ha elakadok akkor majd írok.
Ezt a szívást. Eltűntették a dasy mp3 lejátszó oldalát már csak megrendelni lehet, és nincs meg a forrás. A board meg a schematic megvan mert azt letöltöttem, de a forrás nuku. Nincs meg valakinek esetleg?
|
Bejelentkezés
Hirdetés |