Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
A WDT-nek saját oszillátora van. Független a pic fosc-jától.
Szia, nekem is megvan az a részletes cucc, AN187 néven fut. De vagy aludnom kéne rá egyet....vagy nem ittam még eleget, de nem értem ami ada van írva... próbálom megfogalmazni amit én értek:
1 reset és presence detect... 2 SROM command... (eddig tisza) ... erre válaszol a mindegyik eszköz a saját ROM kódja 1 bitjével ami ÉS kapcsolatban leolvasható. Na ezt én úgy értelmezem, hogy ha minden 1 akkor 1, ha valami 0 akkor 0, ha mind 0 akkor is 0... ...a master kéri a következőt... ... erre az eszközök válaszolnak az 1. bit complemensével ÉS kapcsolatban.... az elv u.a. , de ebből hogy lesz számomra egyértelmű valami.... és mindez még 63 szor.... hhhhhhhh ![]()
Letöltöttem az appnote-ot, annak a végén még C kód is van. Most nincs hozzá agyam, hogy átnézzem, de valami bináris keresést emleget, tehát nyilván a kód és a részletes leírás alapján meg lehet írni akár asm-ben is.
De az is lehet, hogy nem is kell neked ez a keresés! Ha csak arra van szükséged, hogy két eszközt használj, akkor azt is megteheted, hogy egyenként a buszra csatlakoztatva őket kiolvasod az azonosítóikat és eltárolod azokat pl. EEPROM-ban. Ezután már a normál lekérdezéskor nem kell keresni, csak az eltárolt azonosítók alapján megszólítani őket. Ez nem jó megkerülő megoldas? ![]() ![]() Üdv The_Saint
Néztem az adatlapot. Én is láttam hogy mire tud felébredni. Csak azt nem tudom hogy melyikkel a legegyszerüb megcsinálni? A/D az használva lesz. A többi nem. Ismeri valaki a flowecode-t?
Idézet: „Csak azt nem tudom hogy melyikkel a legegyszerüb megcsinálni?” Szerinted mi honnan tudjuk, hogy mi a cél? Nem tudom, hogy hetente vagy fél miliszekundumonként akarod felébreszteni. Enélkül elég nehéz okosnak lenni... Idézet: „Ismeri valaki a flowecode-t?” Van saját topikja,akik oda írnak, feltételezhetően ismerik, vagy ismerni akarják.
Ezt nem értem... Ha sok szenzort használsz, akkor nyilván különböző pontokon vagy kíváncsi a hőmérséklet értékekre , akkor pedig neked tudnod kell, melyik hol mér ( ezt az automatikus felderítés nem tudja megmondani!)!
Így mi értelme van az automatikus felderítésnek? Az algoritmust egyébként szerintem jól látod, azzal a kiegészítéssel, hogy a kontroller visszaadja, hogy milyen bittel akar foglalkozni és amelyik eszköznek valamelyik kiadott bit nem stimmel az lekapcsolódik ( ezt most emlékezetből írtam, remélem jól!). Steve
Sajna a flowcode forumba se tudja senki
![]()
Szia! Érdekelne a kód és a kapcsolás is! Kijelző még nem biztos hogy lesz majd rajta, ha igen, van egy nokia kijelzőm. A szkóp egyik csatornájának van egy egyvoltos kimenete, erről venném a jelet, ramban tárolnám, és ha kell egy D/A átalakítón keresztül kiküldeném a másik csatornára. Max 100KHz-es jelig lenne érdekes, tápegységek, kapcsolók, relék vizsgálatához. Ez analóg szkópon elég bajos dolog a jelek egyszeri gyors lefutása miatt.
Idézet: „A cél az hogy kb 1 óránként felébredjen magátol.” Ugyan, ki adná az eseményjelet hozzá? Tegyél Timer1-re egy órakvarcot, s akkor 2 másodpercenként ébreszthetsz a számláló túlcsordulással! Szoftveresen számlálod az ébresztéseket, s amikor letelt az egy óra, akkor megcsinálod, amit óránként elvégezni akarsz. Ha pedig még nem telt le az egy óra, akkor visszaalvás.
Szia!
Órakvarcról, ha a Timer1 előosztóját is bekapcsoljuk, akkor 4, 8, 16 másodpercenként következik be az ébresztés. De alkalmazható esetleg külső oszcillátor is (pl. 32.768kHz oszcillátor egy 225 módusú CMOS előosztóval - Timer1 külső órajellel, 8-as előosztással pontosan óránként ébreszt.) Ha a Timer1 módusát programozod, akkor az előosztó akár 256-ot is oszthat - felhasználható a belső osztóval is rendelkező bináris osztó CD4060). Ha a készülék hálózati táplálású és a pontosság nem túl nagy igény, a hálózati 50Hz is felhasználható.. Szia
Külső áramkörökre én azért nem gondoltam, mert feltételeztem, hogy az energiatakarékosság miatt fontos az altatás. A Timer1 előosztása valóban bekapcsolható, arról megfeledkeztem.
Hacsak nem egy RTC pl. belső kvarccal. Be lehet állítani azt is, hogy milyen időközönként adjon megszakító jelet a PIC felé. Addig a PIC aludhat...(nekem a hazvezérlőm órája ilyen, bár azt nem kell altatni, hanem 1s-ként ad egy megszakítást.)
Tudom, hogy a flowcodeba külön kel megadni c-be vagy asm-be. Már néztem én is a külföldi forumot amit te is belinkeltél. De azért kérdezem itt mert sajna nem tudok se c-be se asm-be programozni.
Igen, azért kell az alvás mod mert elemröl menne. Plusz külsö energia falok nélkül szeretném megoldani. Jelenleg Timer0 fut a proci de van 32kHz és 4MHz kvarcom is. Még most ismerkedek a Picekkel azért rakok fel hülye kérdéseket. ![]() ![]() Idézet: „Plusz külsö energia falok nélkül szeretném megoldani” Az RTC(R2025S) nem energiafaló(egy gombelemről évekig elmegy). Ha a PIC alszik, és óránként felébreszti a PIC-et, akkor az kevesebb fogyasztás lesz, mint ha 2sec-enként felébred a PIC számolni. Arról nem is beszélve, hogy mennyivel pontosabb egy beépített kvarc...
Sziasztok!
Segitene valaki egy egyszerű flip-flop-ban, ami zavarvédett? 16f84a köszi... nem tudom mit rontottam el... de össze vissza kapcsol...néha igen, néha nem, néha rögtönki-be kapcsol.. próbáltam RB int.-al is ugy se jobb
Szia!
32.768kHz-n a CD4060 sem zabál sokat (5V-on 5-10uA, 125 fokon <150 uA), az R2025S 3.3V-nál 0.45uA. (A timer 1 osszcillátor 6.5- 65 uA-t fogyaszt 5V-on, amit a külső áramkörök miatt ki lehet kapcsolni) Attól tartok nem ezek fogják lemeríteni az elemeket.... Szia>
Nálam a PIC (16F946) másodpercenként 16-szor ébred fel egy timer1-es órakvarcról, olyankor kezeli a billentyűzetet, az idő számolását és hasonlókat (belső, 8MHz-es órajelről), majd visszaalszik. Közben az LCD üveget folyamatosan frissíti a belső 31kHz-es órajeléről (ezt ilyenkor tudja alvás közben is). Az egész áramkör áramfelvétele 3db AA celláról 6uA körüli. Láttam olyan óra IC-ket, aminél 50uA-es fogyasztás volt megadva...
Végül is én nem azt állítottam, hogy a PIC sokat eszik, hanem azt, hogy többet, ha fel-fel éled, mint ha nem + az RTC.
![]()
Köszönöm a segitséget. Van böven információ
![]() ![]() Másik kérdés létezik az hogy Timer0-ba belsö oscillatorral ugy hogy semmi nincs rajta "led"2mA vessz fel 5V-4MHz-en?Vagy sz*r a müszerem. Moderálva --vicsys
Szerintem reális a 2mA 4MHz-en. Soknak, vagy kevésnek találod?
Üdv mindenkinek!
Egy kis segítségre lenne szükségem, első PIC-es feladatomnál el is akadtam. A probléma a következő: -Sleep utasítás után nem tudom felébreszteni a PIC-et. Nem akarom, hogy a megszakítást futtason, csak hogy felébredjen és ott folytassa ahol abbahagyta. Ehhez az INTCON regiszterben törlöm a GIE-bitet és csak az INTE bitet engedélyezem. Azt olvastam több helyen a PIC adatlapjában is hogy ezt így kellene csinálni, de csak nem ébred fel. -Olvastam a hobbi elektronika erről szoló cikkét is. -A google-ban is kerestem de mindenhol csak "GIE negedélyezett" verziót találok. Tehát: -44Pin DebugExpress panel -PIC16f887 -RB0/INT külső megszakítás, ( a panelen ezen van a kapcsoló) -Multiméterrel én látom a megfelelő jelszinteket mikor nyomkodom a kapcsolót. A program a következő:
A segítséget előre is köszönöm.
Nem tiltottad le az AD átalakítót így az RB0 lábról a kontroller mindig nulla szintet olvas, így nem csoda, hogy nem történik megszakítás.
Szerk.: ajánlom figyelmedbe ezt a hozzászólást: Link, főleg az ötödik bekezdést. Mert mélyebben belegondolva nálad is emiatt nem működik. Nem + , hanem vagy! Mert így nem azt jelenti, amit szerintem írni szerettél volna! Ha pedig így értetted, akkor csak az RTC+PIC kell, 4060 nem!
Köszi a választ, elolvastam a linkelt hozzászólást, és kipróbálom. Remélem igazad lesz.
Igazábol soknak. De majd kiprobálom 2V-al és külsö oscilátorral és kiderül. Amit írtál áramkör abba az órakvarc mekkora?
Én ugy értettem, hogy egyik se. Bocsi ha félre érthető volt.
Szia!
Csak felsoroltam a lehetőségeket, végülis azt építed meg, amelyik Neked tetszik. Az alábbi három lehetőség (kiszáró) vagylagos: - Pic, TMR1 oszcilátor, 32.768kHz órakvarc, - Pic, külső TMR1 órajel, RTC (amilyent kiválasztasz...), - Pic, külső TMR1 órajel, 32.768kHz órakvarc a CD4040-on (ld. adatlapja - a kvarc oszcillátorra is van példa), 1/256 osztással megy a pic-re. - A timer 1 belső oszcilátora felhasználható más 32 kHz körüli frekvenciára is (32.000kHz-re is). A timer 1 a jelet 1,2,4,8 módusú előosztóról viszi a 16 bites számlálóra. Megszakítás (ébresztés), akkor lesz, ha a 16 bites számláló átfordul (0xFFFF -> 0x0000). A felhasznált kvarc frekvenciájából kiszámíthatod az átfordulások közötti időt.... Szia |
Bejelentkezés
Hirdetés |