Fórum témák
» Több friss téma |
Sziasztok,
most ismerkedek a Flowcode-dal. PIC12F629-esre írok programokat, eddig sikerrel. Most viszont elakadtam. Szeretnék egy egyszerű vezérlést megoldani megszakítással de valahogy nem akar működni. A megszakítás lábon ha változik a jel akkor az egyik kimenet 15 másodpercre 1-es lesz, de közben ha megint változik a jel a megszakítás lábon akkor újra indul a 15 mp. Hogy kell a megszakítás láb szintváltozását kezelni ennél a PIC-nél?
Eddig ezt csináltam.
Ez volt nekem is az első ötletem. Azért gondoltam a megszakításra, mert amíg vannak beérkező jelek addig kell a kimeneten magas szintnek lenni. A jelek 8-tol 13 mp-s intervallumban érkeznek. 16F628-as piccel ez működik is (csatolom), de nekem 12F629-essel kell megoldanom (ez van otthon sok ).
Majdnem ez kell, de ha újra jönnek a jelek a bemenetre akkor az egész újra kell hogy induljon. Egy másik fórumon ezt találtam. Átírtam az "fcd" fájlban az iocb-ket ioc-re és már működik is a szimuláció. Hétvégén beégetem és kipróbálom.
Erre, azzal a különbséggel hogy a késleltetés ideje alatt is kell figyelni a bemenetet. Ezt más piccel meg tudtam oldani (#816940-es hozzászólás) , de a 12F629-nél nem akart működni a megszakítás.
Üdv!
Ds1820 -at szeretnék kiolvastatni lcd -re. Valahonnét letöltöttem tegnap egy kész fcf fájlt, de az sajna 4 digites 7 szegmenses ledre írták. Beletúrtam ,de persze nem jó... nincs valakinek valós , kibróbált ábrája?
Ezekkelel küzdök.Az elsőben az átszámítás az eredeti program része, csak nem vágtam ki, mert lényegtelen. Egyszerűen ki szeretném küldeni a "nyers" értéket az lcd-re, de mindig 0-t ír ki. Ha a ds1820 Out és Vdd lába közé rakok egy 10 K-s ellenállást()helyenként ez a javasolt), akkor -1 -et ír . Legalább valami életjelt adna, de semmi.Összeraktam egy saját progit azzal se (ez a második).
Ui.: a 7 szegmensest nem próbáltam, szerintem időpocsékolás lenne most ezért egy panelt összedobnom.
A talált progikból próbáltam összeszedni a rávalót, azokban meg nem szerepelt amiket te beraktál :nemtudom: . Na mindegy . Kipróbáltam amit küldtél a köv . változtatásokkal.:
Lcd nálam máshova cstlakozik, és az E1 port 0-n van mert ez megy az R/W lábra. A ds1820 az A1 -en van. (erre írtak anno valamit a Matrixos fórumon, hogy ez problemás lehet). A pic egy 16f877, 4Mhz-en. Az eredmény: 0 BusRstRet 140 Scanbus 0 Get Dev Cnt 0 0
Ha 1K- val húzom fel a DS "kimenetét" , akkor a scanbus érték 2 , a kiolvasott hőfokok -1 ,-1 . Nemtudom ez jelent e valamit, vagy csak valami fals érték.
Tudom, láttam, de nem gondoltam, hogy ez gond lehet. Kicserélem a kvarcot...
Kicseréltem, működik. Megint tanultam valamit , hálás köszönet. Ha lesz egy kis időd, légyszi kommentezd a makróit a progidnak, szeretném tudni, ki mit csinál. Köszönöm, jóccakát.
No, minden szép és jó, viszont pontosan 4 fokkal többet ír ki mindkét szenzorra. Szoftveres, vagy hardveres lesz a gond? A hőmérő egész pontosan Ds18S!20.
Azt szeretném még tudni ,ez a sor mit csinál? : gettemp = gettemp >> 4 ha ezt átírom 1-re, akkor jó értéket ír, de 0,5 fok felbontással, tizedespont nélkül.
Köszönöm.
Itt egy full minimalista progi, próbálkozás TMR1 használatára. A kérdésem, hogy miért van az, ha TMR0 -val hívom a makrót, akkor lefut, ha TMR1,2 -vel, esze ágában nincs meghívni.
Üdvózlet!
Miért nem tudom áttenni PortB1-re a Ds1820-at ?nem elég a ONE wire csatlakozásában átállítani B0-ról B1-re?
Üdv. Sikerült megszerezni a Flowcode 4-et. De sajnos angol. Nem tudja valaki hogy hogyan lehet átállítani magyarra?
Köszi a segítséget. Nekem alapból angol lett. De most már magyar.
Köszönöm!
Elnézést a késői válaszért, de 5. napja nincs netem (Dunawebnél vmi központi hiba van...).Azt hogyan lehet megcsinálni, hogy a bizonyos feltétel esetén beírjon 1 -et a pic a saját epromjába? Pl ha elindul a progi, beír 1-et , aztán ha végigment, akkor törli. Innen tudná a progi a következő bekapcsoláskor, hogy előzőleg végigment-e , vagy pl közben elment a táp.
Üdv. olyan kérdésem lenne hogy a flowcode-ban van-e stopper? Amivel le tudnám mérni hogy egy-egy programrész menyi idő alatt fut le. Mert csináltam egy poti figyelő ledsort és szerintem kicsit hosszú lett.
mrobi,Szamy és mindenki.Csak arra hívnám fel a figyelmet,hogy az eeprom NEM Ram! Egyrészt az eeprom írás egy hosszabb fizikai folyamat,lassítja a program futását,másrészt a gyártó 1 000 000 írást garantál! Azaz ha másodpercenként csak 1-szer fut le a ciklus,300 üzemóra után az már több mint 1 000 000 eeprom írás.És innentől kezdve...
Simpi, lalca: Az eeprom-ba nem is írnak ha beégetném egy picbe. Ez csak azért kellett hogy lássam az értékeket flowcode-ban.
Nem tudtam hogy van ilyen. Köszi a segítséget.
Üdv. Próbálkozok a megszakításokkal. De valamiért nem megy. Megnézné nekem valaki hogy mit rontok el?
Hát megpróbáltam kijavítani. De így se működik.
Értem. Megyek és ki is próbálom. Már csak 1 kérdésem lenne. A te flowcode fájljaidat miért nem tudom megnyitni?
Azért mert ő már egy újabb verziót haszál .
Sziasztok!
Először is, kérlek legyetek türelmesek, kezdő vagyok nagyon, idáig Simpit fárasztottam, de ő most elfoglalt Szóval, összeollóztam innen a totyikból ezt a szösszenetet, de nem azt csinálja, amit én szeretnék. Van egy ledünk, meg egy kapcsolónk, ha a kapcsolót bekapcsoljuk, akkor a lednek késleltetve kéne bekapcsolni 5s, (ha a bekapcsolás ideje nem éri el a bekapcsolási késleltetés idejét (pl. csak 3s), akkor meg nem kéne elinduljon a program) Amíg a kapcsoló bekapcsolt állapotban van a lednek világítania kell (itt folyton újraindul a led ciklusa, jobbat nem tudtam), mikor a kapcsolót kikapcsoljuk a lednek még világítania kéne még 30s-ig. De ez se a legjobb, mert ugye még annyit világít, amennyi a 30s-os ciklusból éppen hátravan. Ez lenne az elvárás. Ezzel szemben, ez késik ugyan, de az egész program tokkal vonóval, nem csak a nyomógomb és a "végén" még annyit világít, amennyi hátra van, nem 30s-ot meg mielőtt a 30s újraindulna, hogy a led folyamatosan világíson, akkor ugye megint bejön az 5s-os késleltetés és ez így nem jó.... Lehet picit zavaros a leírás, ezért készítettem egy diagramot, mit is kéne csinálnia. Előre is köszi mindenkinek a segítséget: E.
Szia.
Kicsit át alakítottam a rajzodat. Nem kell a (értékszámítás be=0), az véletlen benn maradt. Üdv. |
Bejelentkezés
Hirdetés |