Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Ugyanúgy van bekötve, mint a Starter Kit-en (ismerem azt a kapcsolást amúgy, egyszer már megépítettem, csak akkor nem tettem rá RTC kristályt), a SOSCI és SOSCO lábakra, csak épp nem 11pF-os terhelő kondikkal, mivel az én kristályomnak 12pF kell... vagyis 12.5pF kell neki, de nem hinném, hogy fél pF olyan sokat számítana.. legalábbis a 8MHz-es system clock kristálynál még sosem volt gond néhány pF eltérésből, meg nem is olyan pontos értékűek ezek a kerámia kondik...
Úgy értettem, amit írtam, vagyis a programozó a srác azt mondta, hogy: olyan módon nem lehet elvileg konfigolni a PICet, ami 32kHz-es kristály frekvencia (tehát helyes kristály "működés" ) mellett olyan frekvenciával pörgeti a másodperceket, mint ahogy tapasztaljuk (LCD-re kiírva).. magyarul ez csak arra vonatkozik, hogy valószínűleg nem a konfigurációval van a baj, hanem hardveres a gond. A hozzászólás módosítva: Márc 6, 2013
Éppenséggel lehet, csak nem szeretném, ha nem muszáj.. elvileg mennie kéne egy 32 kHz-es kaviccsal is.. Köszönöm az ötletet ettől függetlenül!
Szerintem az, hogy 10pF, vagy 12.5, az tök mindegy. Meg merem kockáztatni, hogy még 0pF-dal is menne (a lábaknak meg a panelnak is van legalább 5-10pF kapacitása), a 18-22 is még valószínűleg beleférne. Szóval én sem hiszem, hogy a kondi lehet a probléma.
Ha jól értem, megy az az oszcillátor, csak irreális frekivel. Akkor meg kéne nézni egy szkóppal, hogy mit látni a kvarc lábain - az irreális frekit, vagy ott még minden rendben van, csak belül számol rosszul. A hozzászólás módosítva: Márc 6, 2013
PIC BASIC PRO-ban Hogyan van a config a PIC18F25520 esetében ha belsó oszcilátort akarok használni?
Most így van megadva : intcon2 = %10000000 ' RBUP ellenállás engedélyezés (1) OSCCON = %11110000 ' 8 Mhz, belsől oszc OSCTUNE = %11000000 ' 4x PLL engedélyezve ADCON1.7 = 1 ' 10 bites felbontás ADCON0 = %11000001 ' A/D BEALLITASA ES BEKAPCSOLASA ADCON1 = %10001110 ' PORTA.0 ANALOG BE, A TOBBI DIGITALIS Mikor betöltöm a programozó szoftverébe az írja, hogy néhány config szó nincs a hex file-ban. Mi hiányzik?
Miért nem elég egy helyre betenni a kérdésedet? Szabályzat
Szia!
Ezek az idézett sorok valóban nem a konfigurációs szavakat állítják be.
Nekem is voltak gondjaim a 32khz-es kvarccal. De a külföldi fórumokban sokan panaszkodtak erre.
Nekem végül azthiszem a második, vagy harmadik lett jó, és 22pf-al hajtom. A hosszabb idejű pontosságát még nem néztem, de majd ha lesz rá időm megnézem azt is. (Örültem, hogy végre beindult, mert elég sokat szívtam vele)
Aham, hát köszönöm, hogy leírtad a tapasztalatod.. elég idegesítő dolog, mert egy RTC kb. a legalapabb csicska dolog egy kontrolleren és kb. az az egyetlen, amit nem sikerült rajta belőni rendesen
Majd próbálkozom még kristályokkal meg kondikkal.. legrosszabb esetben marad a külső RTC IC, csak hát az ugye plusz helyet foglal és a hely kérdése az én esetemben jelenleg kritikus. Ha esetleg rémlene, hogy hol vetted azt a kavicsot, amivel jó lett, akkor annak az infónak még örülnék. Köszönöm
meg sem próbáltam a szkópozást, mert korábban már próbáltam kristályra rászkópozni, de elég érdekes eredményekkel zárult a mérés és aztán hallottam valahol, hogy azt csak úgy nem lehet. Na de jelen esetben nem volt semmi gond vele... és kb megvan a 32kHz, tehát mégis csak konfig gond lehet, de arra tényleg nincs rálátásom. Mindenesetre azt mondja a programozó srác, hogy ilyen 2-szeres "másodperc-takk"-ot elvileg nem lehet belőle kiszedni, csak finomállítani lehet szoftveresen... Még azt tudom elképzelni, hogy a mérés befolyásolja a rezgőkört és olyankor jól jár, amikor rámérek, amúgy meg nem. Mindjárt utána is járok ennek.
Na szóval, bedobtam egy LED villogót, ami gyors volt alapból, szkópozás közben meg stimmelt. 10pF a szkópom névleges bemeneti kapacitása, úgyhogy rádobtam 22pF-osokat az egyébként 12pF-os terhelő kapacitást igénylő kristályra és most jó... csak ez azért fura, mert ezt a kombinációt szerintem már próbáltam... na de mindenesetre a jövőre nézve mindenkinek üzenem, hogy:
A PIC32MX795F512 RTC-jére a következőt érdemes tenni: ilyen kristály 22pF-os terhelő kapacitásokkal A hozzászólás módosítva: Márc 9, 2013
Sziasztok!
A következő probléma miatt nyitottam ezt a topicot. Böngésztem a fórumokat, de nem találtam minden kérdésemre választ a soros kommunikációval kapcsolatosan. A PIC18f4550-es mikrokontroller szerintem ma elterjedt és gondolom másokat is érdekel ez a téma. A problémám a következő. Szeretnék létrehozni egy aszinkron soros kommunikációt (8 data bits - no partity - 1 stop bit) egy PIC és egy PICKit2-es UART között. A PIC adatlapját letöltöttem és az alapján írtam egy programot, hogy a PIC az UART-nak küld egy karaktert. A karakter küldését bele tettem egy végtelenített ciklusba, hogy folyamatosan küldje a jelet. Az UART-t kap jelet, csak értelmetleneket. Az alábbi kódrészlettel hozom létre a soros kommunikációt:
A karakter kiküldését pedig az alábbi kóddal végzem:
Az UART-tal csak "?" jeleket veszek, nem kapom vissza azt a karaktert, amit kiküldtem a PIC-ről. Mit rontottam el? Mit nézzek meg, hogy működjön a kommunikáció? A hardverről még nem esett szó. Az áramkör egy PIC18F4550-es mikrovezérlőből és egy 20MHz-es kristályból áll (illetve a hozzá kapcsolód 22µF kondikból). A kapcsolás vagy USB-ről vagy az UART-ról táplálom meg. Ez gondolom így érthető, ezért nem csatoltam rajzot róla. Továbbá az átviteli sebességekkel kapcsolatosan is lenne kérdésem. Valaki használta már a PIC-et 115200K-val? Ha igen, akkor mi a tapasztalata? A válaszokat előre is köszönöm! Üdv.: Kornél
Helló!
Szerintem nem jól van beállítva az átviteli sebesség, a PIC-ben 300bps van az UART tool-ban pedig 1200 bps.
Az átviteli sebességem jó csak más átviteli sebességeket is megnéztem. A kép akkor készült, amikor az 1200K-s sebességet néztem. Elsőnek a 300K-s sebesség volt beállítva, akkor is "?" karakterek jöttek.
Köszönöm a válaszod.
Először is jó volna tudni, hogy milyen karaktereket küldesz, mert az egyébként pársoros programból pont ezt nem raktad fel. Másrészt a nézegető programot át kéne fent kattintani Hex állásba, hogy lehessen is látni, mi érkezik.
Szia!
Javítom a hiányosságomat...
Mellékelem a hexa kódokat. Köszönöm a válaszodat!Üdv.:K
Szia!
Két pic (18F2550 és 18F252) között optikai leválasztással 300kbit/sec -et is használtam már hiba nélkül.
Próbáld ki 0xff-fel, 0x00-val, és 0x55-tel is.
Kornél félreérthetően fogalmazott: 300bps-t próbál használni. Ennyire van elvileg a BRG is állítva, és ennyivel nézi is. Ennek azért kéne működnie csípőből...
Idézet: „egy 20MHz-es kristályból áll (illetve a hozzá kapcsolód 22µF kondikból)” Öööö... fényképezd már le azokat a kondikat. Idézet: „Továbbá az átviteli sebességekkel kapcsolatosan is lenne kérdésem. Valaki használta már a PIC-et 115200K-val? Ha igen, akkor mi a tapasztalata?” Szerintem erre válaszolt HP41C kolléga! Steve
Szia! A puffer ürességét ne a TXIF megszakítás jelző bittel vizsgáld, mert így eláraszthatod a TXREG-et.
Erre alkalmasabb a TXSTAbits.TRMT . A másik, hogy ha az USB működik, akkor biztosan nem 20MHz a belső Fosc sebessége, hanem 48MHz! Azaz rosszul számolod ki a baudrate értékét. A hozzászólás módosítva: Márc 9, 2013
Bocsi! Igazad van! elírtam. 22pF!
Akkor az rendben van.
A konfigurációs bitek hogyan vannak állítva, tényleg 20MHz-cel megy a CPU?
Mellékelek egy kapcsolási rajzot. Jelenleg az oszcillátorom 20MHz-s. Nem ezt kell az átvitelnél alapul vennem? Nem ebből számolom az átvitelt?
Nem csak a kristály határozza meg az Fosc-t. Hogyan állítottad be a konfigurációs biteket?
A hozzászólás módosítva: Márc 9, 2013
Így állítottam be őket:
A 3. sorban mit is írnak megjegyzésben?
Azt írja, hogy a rendszer időm 48MHz.
Akkor ezt kell alapul vennem az átviteli sebesség számításánál?
Idézet: Pontosabban ennek a negyedét, mert a 48/4 = 12 MHz az a belső frekvencia ami például a timer-ek alap órajele. „Akkor ezt kell alapul vennem az átviteli sebesség számításánál?”
A kérdés, gondolom költői...
|
Bejelentkezés
Hirdetés |