Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   840 / 1319
(#) fokti Attila válasza icserny hozzászólására (») Nov 19, 2010 /
 
Bocs, az előbb elírtam, nem 1-et hanem 0-át ad vissza a port szintjétől függetlenül. A CMCON=0b00000111-nél a rajz szerint mindig 0-át ad vissza. És ez így is van. CCP2CON-t már én sem értem
(#) fokti Attila válasza bbalazs_ hozzászólására (») Nov 19, 2010 /
 
Mivel DS1820 van rákötve, ezért külső 4k7 felhúzó ellenállás van rákötve. ha kimenetnek konfigolom, le tudom húzatni a szintet. Elvileg kizártam mindent amit az agyam kiadott, ezért is fordultam ide, hátha a tapasztaltabbaknak van valami ötlete. A konfigszavas beállításon mit értesz?
(#) potyo válasza fokti Attila hozzászólására (») Nov 19, 2010 /
 
Mutasd meg a kódodat, amivel nullát olvas mindig.
(#) fokti Attila válasza potyo hozzászólására (») Nov 19, 2010 /
 
Mégiscsak valami hardverhiba lesz. A felhúzó ellenállás dacára földközeli potenciálon van a láb.
(#) fokti Attila válasza fokti Attila hozzászólására (») Nov 19, 2010 /
 
Ha kiveszem a pic-et, minden rendben. Tehát maga pic húzza le a szintet. Már az egész progit kiheréltem de így sem jó.

void main (void)
{
// UP_INIT();
// LCD_INIT();
// RESET_DQ();
TRISA=1;
TRISB=0;
ADCON1=0x0F;
CMCON=0b00000111;
while(1)
{

if (PORTAbits.RA1 == 1)
{LATBbits.LATB3=1;}
else
{LATBbits.LATB3=0;}
(#) potyo válasza fokti Attila hozzászólására (») Nov 19, 2010 /
 
TRISA=1, vagyis kimenetté állítottad az RA1 lábat.
(#) robotech hozzászólása Nov 19, 2010 /
 
Üdv!

Valaki foglalkozott már a microchip MCP79410-es I2C buszos RTC IC-jével?

Lábkiosztása olyan mint a PCF8563, Más a címe, és van benne battery switchover,de amúgy egész egyformák.

A gondom, hogy nem tudom elindítani az oszcillátorát:
Azt írja az adatlap,hogy a 0x00 regiszter, ami a másodperc regiszter is (BCD-be), a 7.bit az ST (azaz Start),hogy 1-re állítom elindul a számolás. Visszaolvasom a regisztertartalmakat, ez egyesen is van ,de nem indul el...
Lenne valakinek valami ötlete?
Köszi előre is!
(#) fokti Attila válasza potyo hozzászólására (») Nov 19, 2010 /
 
S valóban. Vélhetőleg félreértelmeztem egy másik programot. Abban az állt hogy: TRISA=0; kommentben meg utánaírva hogy ez megfelel a TRISA=0x00-val vagy a 0b00000000-vel. Ez így is van de akkor ezek szerint a TRISA=1 nem egyenlő a TRISA=0b11111111-al.

Viszont a helyén rendesen írtam és ennek dacára sem működik.
void RESET_DQ (void)
{ TRISB=0X00;
LATBbits.LATB3=0;
TRISAbits.TRISA1=0;
LATAbits.LATA1=0;
delayus(480);
ADCON0bits.ADON=0;
ADCON1=0x0F;
TRISAbits.TRISA1=1;
delayus(50);
if (LATAbits.LATA1 ==0)
{LATBbits.LATB3=1;
}
Hiába húzom földre a B3 mindig aktív
(#) bbalazs_ válasza fokti Attila hozzászólására (») Nov 19, 2010 /
 
Olvasas nem a LAT-bol tortenik, az irasi puffer. Azt csak akkor erdemes hasznalni, ha irod a portot, de egy kulso cucc elhuzhatja a PORT tenyleges erteket.
Szoval a PORT-ot olvasd.
(#) fokti Attila válasza bbalazs_ hozzászólására (») Nov 19, 2010 /
 
Hálás köszönet! ELindult!
(#) icserny válasza fokti Attila hozzászólására (») Nov 19, 2010 /
 
Idézet:
„ezek szerint a TRISA=1 nem egyenlő a TRISA=0b11111111-al.”
Hát persze, hogy nem!

TRISA=0 megfelel TRISA=0b00000000-nek
TRISA=1 megfelel TRISA=0b00000001-nek
TRISA=2 megfelel TRISA=0b00000020-nek
....
TRISA=255 megfelel TRISA=0b11111111-nek (azaz 0xFF)

De a számtan órát ne itt tartsuk!
(#) bbalazs_ válasza icserny hozzászólására (») Nov 19, 2010 /
 
Es akkor meg nem beszeltunk a root-rol, amivel (legalabbis assemblyben) allatiakat szivtam. Beirtam, hogy 10, de a root hexa volt es ez csak hosszas hajtepes es koromragas utan lett egyertelmu
Azota nem keverem. Csak tisztan hexa. 2A eves vagyok

Am ne vezessuk felre lelkes, ifju baratunkat, legyen a
'TRISA=2 megfelel TRISA=0b00000010'
(#) watt válasza bbalazs_ hozzászólására (») Nov 19, 2010 /
 
Ez jó! Én 0b00101011
Icserny mester viszont bevezette a kettes számrendszerbe a 2-es számot is!
(#) potyo válasza watt hozzászólására (») Nov 20, 2010 /
 
0b00011010 :hehe:
(#) csiktor hozzászólása Nov 20, 2010 /
 
Sziasztok!

Egy PIC16F877A-t használok Hi-tech C fordítóval. Elég rejtélyes dolgokat produkál:

Bizonyos esetekben ha bekapcsolom, akkor teljesen jól működik (LCD-t hajt meg és hőmérsékletet szabályoz/időt mér).
Néha viszont amikor bekapcsolom, akkor elkezdi ész nélkül pörgetni a változókat. Pl. az óra, perc, mp változók folyamatosan pörögnek felfelé (ezt ugye látom az LCD-n is).

Mi a fenétől lehet ez?
-Kontakt hibákat átnéztem, elvileg nincs gond.
-A program elvileg oké, meg néha ugye lefut normálisan minden.
-Az oszcillátor oké, amikor működik, akkor jól mér időt is

Talán a megszakítások lekezelésével lehet gond?
Vagy lehet, hogy túl sok a függvényem? Figyelmeztet a fordító "hardware stack overflow"-ra.
Esetleg "haldoklik" már a proci?

Köszi előre is a válaszokat!
(#) potyo válasza csiktor hozzászólására (») Nov 20, 2010 /
 
Az a hardware stack overflow mindenképpen probléma. Át kell szervezni a programot, hogy ne legyen annyi egymásba ágyazódó függvényhívás. Pl. rövid függvény makróvá alakíthatsz, hogy inkább építse be a kódba hívás helyett. Nem a függvények száma a probléma, hanem az egymásba ágyazódásuk.
(#) watt válasza potyo hozzászólására (») Nov 20, 2010 /
 
Szemtelen! Viszont én már többször kaptam ajándékot!
(#) watt válasza csiktor hozzászólására (») Nov 20, 2010 /
 
Idézet:
„"hardware stack overflow"”

Ez nagy baj, ez az ok...
(#) trudnai válasza watt hozzászólására (») Nov 20, 2010 /
 
Idézet:
„Icserny mester viszont bevezette a kettes számrendszerbe a 2-es számot is!”


Miert, nem ezert hivjak 2-es szamrendszernek?

Amugy azt az osregi viccet biztosan ismered, hogy miert unnepli a programozo oktober 31-en a Karacsonyt?
(#) robotech válasza trudnai hozzászólására (») Nov 20, 2010 /
 
Én viszont nem ismerem, és már nagyon felcsigáztál vele, mert vagy egy órája nézem a fórumot, hátha válaszolsz rá...
Szóval miért?
(#) bbalazs_ válasza robotech hozzászólására (») Nov 20, 2010 /
 
Szerintem okt31 = dec25.
Az elso oktalis (8-as szrsz), a masodik decimalis.
(#) Kisvé hozzászólása Nov 20, 2010 /
 
Sziasztok!
A problémám a következő:
16f628A-ról van szó és annak a PORTA,4 lábáról. Kimenetként van beállítva és a CMCON-ba 0x07-et írtam.
Ezek után szerintem "normálisan" kimenetkánt kellene viselkedni, pedig bármit próbálok, mindig 0 van rajt. Egyébkánt az egész PORTA kimenet és azok rendesen működnek.
Próbáltam azt is, hogy semmi más nem volt programban, mint, hogy kiírattam minkét PORT-ra 0xFF-et, de akkor is 4-es lábon 0 volt.
Megjegyezném még, hogy szimulátorban megfelelően működik, csak gyakorlatban rendetlenkedik.
Mi lehet a probléma?
Előre köszi!
(#) watt válasza bbalazs_ hozzászólására (») Nov 20, 2010 /
 
Én is törtem a fejem, de erre nem jöttem rá! Gratulálok, ha erre magadtól jöttél rá!
(#) watt válasza Kisvé hozzászólására (») Nov 20, 2010 /
 
Ugye az adatlap az sokat segít(33.oldal), bár ezt "mi" már csuklóból vágjuk.
Nos a PORTA,4 nyitott drain kimenetű(Ha tranyó lenne ott, akkor nyitott kollektornak nevezhetnénk, ha ez többet mond neked.).

Tehát mi a teendő ilyen esetben? (Aki elárulja, kap egy feketepontot! )
(#) Kisvé válasza watt hozzászólására (») Nov 20, 2010 /
 
Ezer hála és köszönet. Természetesen néztem én is az adatlapot,de ezt nem vettem észre.
Kösz mégegyszer!
(#) watt válasza Kisvé hozzászólására (») Nov 20, 2010 /
 
Szívesen! Azért, még ha természetes is, kérlek válaszolj, mi a megoldás!
(#) Kisvé válasza watt hozzászólására (») Nov 20, 2010 /
 
Tápra kell húzni egy ellenállással. Nagyságrendileg 10K-val.
(#) icserny hozzászólása Nov 20, 2010 /
 
A C18 fordítónál #error "szöveg" direktívával lehet hibaüzenetet kiíratni, fatális hibák esetén. Tudtok-e olyan módszert, amivel figyelmeztető kiírást lehet produkálni fordításkor (ami nem állítja le a fordítást)?

A C30-nál van #warning direktiva is, a C18-nál azonban nem találtam hasonló lehetőséget.
(#) watt válasza Kisvé hozzászólására (») Nov 20, 2010 /
 
Köszi! Annyit tennék hozzá, hogy ha nem elég gyors, vagy bizonytalan lenne a jelátvitel, akkor akár 1k-ig, sőt 470ohm-ig is le lehet menni. Persze ilyenkor a fogyasztás is nő, ha valahol ez számít.
(#) Norberto hozzászólása Nov 20, 2010 /
 
Mi volt ez a topikcím ide-oda módosítgatás?
Következő: »»   840 / 1319
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem