Fórum témák
» Több friss téma |
Nos kipróbáltam ...
A Timer1 indítása (setup_timer_) után kell átállítani az RD16 bitet a T1CON regiszterben és azután már működik a TIMER1L és TIMER1H regiszter irkafirkálása a régi módon. Sajna ezt minden TIMER1 indítás után el kell játszani... A buffer regiszter nem elérhető közvetlenül a felhasználó számára, ezért ilyenkor csak a set_timer(xx) utasítás marad a "H" regiszterbe íráshoz - ez egyszerre írja az "L" és a "H" regisztert is. Sajna ez nekem nem jó, mert már valamennyi érték beleketyeg az "L" regiszterbe amikor nekem írni kell/vagy nem a "H" regisztert. Tehát marad az indításonkénti átállítási procedúra ... Köszönöm az infókat .. a segítségetek megoldotta a problémát.
Írj egy saját setup_timer_() -t, ami 8 bites kiolvasást/írást állít be.
A hozzászólás módosítva: Ápr 4, 2022
Sziasztok.
PIC16F877A-t programozok C-ben (MPLAB + HiTech C). Van egy lebegőpontos változóm amit használnom kell, de mintha a fordítás nem működne jól. Próbaképpen leegyszerűsítettem csak egy értékadásra a programot, a szám értéke legyen "1", és szimulátorban nézve nem a kért értéket írja bele a változóba. Ha "0"-t írok bele, az OK, vagy ha a változó típusát pl "char"-ra állítom, akkor 0-255 közötti értékkel szintén jó. Csatolom a forráskódot, illetve a "WATCH" ablakot. Valakinek ötlet? Köszi.
Állítsd be nyomkövetőnek a Mp Sim -et. A forrásba tegyél még egy olyan sort, ami fel is használja a proba értékét. Fordítsd újra. Tegyél töréspontot a proba = 1; sorra. Indítsd a programot. Automatikusa megáll a fenti soron. Lépj még egy sort. Ezután már jónak kellene lennie az értéknek a Watch ablakban.
Az optimalizálás a változót ki is veheti a programból, ha értéke sehol sincs felhasználva.
Nem dolgoztam még nem egész számokkal.
Nekem kell még konvertálnom is?
Beszúrtam még egy float változót, amihez hozzáadnám a "proba" értékét, de nincs változás.
A hozzászólás módosítva: Júl 7, 2022
A szimulátorban milyen típusként figyeled a változót? Float ként?
pl 1 esetén milyen értéket látsz?
Rávezettél a megoldásra.
A méret 32bit alapesetben, átállítva 24bitre, jól jelenik meg az érték. |
Bejelentkezés
Hirdetés |