Fórum témák
» Több friss téma |
Lássuk, hogy jól értem-e.
Az IOCB azt engedélyezi, hogy melyik lábakról érkezhet megszakítás. Az RBIF jelzi nekem, hogy kérés érkezett, mert lenyomtak egy gombot. Én megkeresem, hogy melyik gomb volt a hunyó, lekezelem, aztán be kell olvasnom a portot? Ez törli az IOCB-t? Utána pedig törölni az RBIF-et? A megszakítás flag-okat a lekezelés elején kell törölni, vagy a végén?
A config2 elkerülte a figyelmem és csak ott tudtam az lvp-t offolni szóvaé az megy a saját tápegysége kiiktatva nemreg de az ad az nem megy.
Jól érted... Az egyes okokat kiszolgáló rutin végén (általában a végén, de időkritikus esetben az elején - ha nem szeretnél kérést veszteni) kell letörölni az megszakítás okát...
Az ioc megszakításnál a portb olvasásának meg kell előznie az ok törlését, hiszen fordított esetben újra kérés generálódna.
A Bankseles dolgot "kitapaszkodtam"> de az A/D nem megy .
A következő: 1-es bankban voltam/ vagyok movfw ADRESL banksel PORTB movwf PORTB ??? Már télleg idegeimre megy és haladnom kellene.
Értem. Az IOCB-t utána újra be kell állítanom?
Azt tudom, hogy egyszerre csak egy láb válthat ki megszakítást, de ezt úgy éri el, hogy az IOCB-t nullázza? Ezzel tiltva a port megszakítását?
Ez lenne a az an2-n a megoldás de nem megy...
A IOCB minden szóbajövő portbit esetén emlékszik az utoljára beolvasott értékre. A porton megjelenő értéket összehasonlítja a tárolttal és ha nem egyeznek és a hozzá tartozó IOC bit engedélyezi a RBIF bit bebillen, ha a RBIE engedélyezi periféria megszakítás kérés aktív lesz, ha a PEIE és a GIE is engedélyezi, akkor megszakítás kérés is keletkezik. A port olvasása csak a tárolt értéket frissíti, ezzel a kiváltó okot szülteti meg, az engedélyezéseket nem változtatja meg. A port olvasása minden - a porthoz tartozó - eltérést egyszerre töröl.
Na végre!
Megy az A/D, de egy bajom maradt kb .40-ig lassan emelkedik aztán van egy nagyon rövid szakasz a csuszkán amit csak a DJ-s múltammal tudok szabályozni, egyébként szalad felfelé mint a ló.
Köszönöm, ez igen kielégítő válasz volt. Már csak egy gondom van. Amint megírtam, mindent hazavágott. Az eddig jól működő program most nem jelez ki semmit.
Ide teszem a megszakítási programrészt.
Na végre!
Megy az A/D, de egy bajom maradt kb .40-ig lassan emelkedik aztán van egy nagyon rövid szakasz a csuszkán amit csak a DJ-s múltammal tudok szabályozni, egyébként szalad felfelé mint a ló. -Megmértem a potit jólteszi amikor megugrik menrt onnastól már 4.5V- felett van. Leszeftem a potit kicseréltem a potit műszerrel az rendesen cselekszik. Szóval a kontroller küldi meg, nemértem..
A potid lineáris?
Szia!
- Tegyél egy töréspontot a megszakítási rutin kezdetére. Futtasd a programot a szimulátorban. Nézd meg mit csinál a következő néhány sor:
Az első sor az RBIF állapota szerint vagy a BEALLIT cimkére ugrik vagy az INI_LOAD cimkén keresztül visszatér. A timer2 kiszolgáló rutin le sem futhat...
Jó lenne egy kapcsolási rajz, egy nyomtatási terv és egy teljes (a minimális, ami a hibát hordozza) program...
betettem egy bansel utasításr, mostmeg 2x járja át a 255-öt
![]()
Most veszem észre nem is 2x hanem 4x megy 0-255-ig a potit tekerve. Na ez mi?
Az AD 10 bites, így 1024 azaz 4 * 256 lépésre konvertálja a 0 .. Vdd feszültség tartományt... Állítsd át az A/D igazítását és a ADRESH -t másold a PORTB -re, ekkor 0 .. 255 között fog mozogni a kiolvasott érték, ha a bemenet 0 .. Vdd között mozog...
Sziasztok én még annyit szeretnék kérdezni az rtc-vel kapcsolatban hogy tudomásom szerint ez a kapcsolat egy master slave kapcsolat azaz az rtc önálló döntéseket nem hoz csak a master utasításaira. Ahoz hogy az RTC el kezdjen ketyegni ahoz küldeni kell neki egy engedélyező parancsot gondolom én. Amit láttam hogy az oscillatort a 0h címre egy 0 értékkel indíthatjuk és innentől el kellene indúlnia az RTC-nek azaz az adat benne másodpercenként változnia kellene? Vagy rosszúl látom az RTC ezen részét?
A 2. sort átírtam egy ugrásra a 4. sorra. Most újra működik, de a gombokra nem reagál. A szimulátorban működik.
Komolyan kösz, asszem menjek a csába, főleg mert már nem egyszer csináltam ilyet. Mostmár franya. Adok is pontot, ha tudnám hogy kell. Itt a panel 4.-en nincs oxigén és egyre sötétebb leszek
![]()
Újra itt. A kérdés: azonnal a bekapcsolásnál az A porton van a gombic. Gondolom 0-át olvas Hogy kell ezt kikapcsolni?
Megoldottam. Töröltem az initben az ANSELA- reget. De a LATA és LATB reget mostsem tudom mire jó ha ottvan a TRIS, az előbbiek mit mondanak meg?
A 18-as családtól (úgy tudom) vezették be a regisztert. Az elv az, hogy portra írsz, és lábról olvasol. Mivel a read/modify/write utasítások miatt a portlábak állapota megváltozhat, ezért minden port 3 tárolót tartalmaz. A TRIS irányítja, a PORT-ról olvasod ki közvetlenül a lábak állapotát, íráshoz viszont a LAT-ot használod.
Köszönöm. Nah az újabb bajom megint erősíti az elmélet kontra gyakorlat tézisét. Megoldottam segítségetekkel végre tudom kezelni ezt új jószágot. -fogjuk rá- Megy potival az A/D, mennek a gombok javarészt minden bele van írva. >de kinyögöm a problémát: A Potival a referencia értéket lehet megadni. Van egy műveleti erősítő, annak van egy ICL 7660 nevű negatív konvertere, a +-5 V-hoz. Bekapcsolom a kontrollert bejön az üdvözlés. Amint mérné az A/D a műveleti erősítő jelét, azonnal kikapcsol. A műve. -0.86V -on van így szabadon de ha felkúszik ha melegítem a thermoelemet és pozitívban van, akkor is pakk kikapcsol. Ezt mi okozza?
Így ahogy most írod.
![]()
A pic bemenete semikor nem mehet Vss - 0,3V alá és Vdd + 0.3V fölé (kivéve MCLR)! Egy Schottky diódával védeni kell...
Megoldottam még a diódát nem de már az opa teljesít. De 3,89V -nál nagyobb feszt nem ad ki akármekkora a bemeneti fesz. Tehát a referencia poti linearitása mellett kellene ennek a fesznek lennie a 255-ös értéknek. Mert így ezzel kb 200 a plafon.
Szia!
Keress olyan műveleti erősítőt, amelyiknek a be- és a kimenete is teljes tápfeszültség tartományban képes működni, erre utal az alábbi jellemző: Rail-to-Rail Input/Output.
Köszi.- Igen hallotam róla, de mivel kész van nem pénzelek egy rail to rail-ra. Mert egy halom smd 272c-m van, asszem inkább szorzom a tárat 2-vel. Így majdnem celsiusban is 'pontos lesz' máramennyire lineáris a thermoelem.
|
Bejelentkezés
Hirdetés |