Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Nekem 115200-on is megy belső oszcival(4MHz 16F627A) a kommunikáció. Ha valami miatt nagyon eltolódna a freki, akkor lehet hangolni(OSCTUNE, vagy hasonló(Adatlap. Nyílván a te PIC-ed adatlapja...)).
Gondolom asynchron soros modra gondolsz - Ott a start bit synchronizal, ki kell szamolni a pontatlansagot es a legrosszabb eseteket, de altalaban ennel a sebessegnel meg 1 stop bit is elegendo szokott lenni. Ha nem akkor 1.5 vagy 2 stop bit nagy valoszinuseggel mar megoldja a problemat (ill most nezem ez vagy 1 vagy 2 stop bitet tud).
újrahúztam a 2 progit és most már müködik ez a rész, sőt most már a "?"-re is előjön a help az mplabban
Köszi fiúk, sokat segítettetek! Jövök Nektek eggyel...
hát nekem ez valahogy nem megy ennyi sületlenséget tudtam összehalmozni pedig a guglival is sokat voltam együtt és nem igazán találok olyan leírást ami alapján sikerülne valami értelmeset összehozni, lehet hogy nem "C"-ben kellene próbálkozni?
Segítségeket szívesen fogadok nevetni nyugodtan lehet (hisz azért tettem közzé)
A korábban a fórumra feltöltött programomban 16db órajelet kap az MCP4922.
A logikai analizátort még soha nem használtam, nem tudom hogyan kell... de utánanézek. Basszus most látom csak! A SHDN a földre van kötve.
Hol van a main fuggvenyed? Amugy mi a kerdes, mi nem megy?
Csak a könyebb mentés miatt neveztem át,
de szerintem müködésre képtelen még ez a rész is. 22. sor, 83. sor hibát ír de a többi is hibás
Ezt folytassuk a PIC kezdőkben, mert innen kiutálnak ezzel a témával! S ha lehetséges, akkor kezdjük az alapokkal, mellőzve egyelőre az ADC-t!
1. Próbáld meg összeállítani a program elejét (#include és a CONFIG bitek beállítása). MINDEN CONFIG bitet definiálj (majd megbeszéljük, ha valamelyik nem világos, hogy mire való). 2. Legyen a programban egy main() függvény, abban pedig legyen egy végtelen ciklus (while(1) vagy hasonló)! 3. A main függvény elején legyenek az inicializálások (kimenet, bemenet, lábak analóg/digitális funkciójának beállítása, stb.) 4. Első nekifutásra maradjunk egy LED villogtató programnál! 5. Ha nem olvasgatod figyelmesen a PICCOLO projektet, akkor morcos leszek. Az első 5 fejezete ugyanis kötelező olvasmány a PIC18-hoz, s abból már kiderül(hetett volna) sok minden egy C program fő alkatrészeit illetően. Idézet: A hibát azért írja ki, mert abból derül ki, hogy mit kifogásol. A jövőben majd írd le, hogy mi volt a pontos hibajelzés! „22. sor, 83. sor hibát ír de a többi is hibás”
Pillanat már futok is
Elnézést a Többiektől !
Nem. PIC16F874A volt, csak gondolom az elektronikán egy rossz bekötés vagy egy rövidzárlat tönkretette.
Van valainek pic frekvenciamérő rutin, ami 2MHz ig mér és Herz pontosságal bír?
A kereső használata itt kötelező!
Bővebben: Link
C, Pic BasicPro rutin vagy erősen kommentezett asm. Köszi
CCS C -hez példaprogram egy 50MHz-es frekiszámláló...
Én használtam átalakítva, nekem bevált.
Köszi Értelmezem..
Közben egy másik kérdés. 4Mhz az oszcilátor 1 msp megszakitásokra van szükség. Megoldási tipp? Pic BasicPro C? Esetleg asm
Köszi Értelmezem..
Közben egy másik kérdés. 4Mhz az oszcilátor 1 msp megszakitásokra van szükség. Megoldási tipp? Pic BasicPro C? Esetleg asm
Frekimerohoz esetleg ASM. Mivel igen pontos idozites kell, azt legpontosabban ASM-ben lehet megcsinalni. Nem tudjuk a basic mit csinal a hatterben, es mindezt mennyi ideig. Az idokritikus reszeket , IT-ket jobb kezben tartani, es ezt leginkabb akkor tudod megcsinalni, ha tudod pontosan mi tortenik az IT rutinban. A magasabb szintu forditok tesznek bele egy-ket plusz utasitast, ami elronthatja a pontos idozitest. Persze "C"-ben azert lehet trukkozni, viszont a basic forditok elegge szoszatyarok, es nem tudni mi tortenik pontosan a rutinok kezelesenel.
Értem. Asm-ben van valami egyszerű 1 msp-t előállító interuptrutin?
Hali
C-ben kb igy nez ki egy IT kezeles:
Kérdés mi az, hogy pontos. Órát nem építenék ezzel és mérőműszert sem, főleg nem 1Hz pontossággal 2MHz-es méréstartományan.
Hali
Itt egy pelda a 10 ms IT-re ASM-ben. Nezz szet itt. Az IT idejet a TMR0 eloosztoval es a TMR0 ertekevel lehet valtoztatni.
Mihez kepest pontos? Ezek a pices frekomerok ugy kb/sacc pontossaguak. Az altalanos haztartasi meresekre megfelelnek. Termeszetesen lehetne novelni a pontossagot magasabb kvarc frekivel, es pontosabb kvarccal. Le kell venni a GPS muholdrol a pontos idozitest, es azzal is meg lehet csinalni a pontos idoalapot. Vagy venni rubidium (cesium) idoalapot. De ez mar nem hobby szint.
Miért nem? A kvarc frekvenciája nem annyi mint amit a gyártó mond? Az osztás sem változik a beállított értéktől. Hagyományos TTL elemekkel is ennyi a pontosság. Nem? Egy 4 MHz-s kvracnál milyen osztás kell, hogy a Timer 1 másodpercenként adjon egy megszakítást? Vagy alkalmazzak külső 32768 HZ-s kvarcot?
Idézet: „Miért nem? A kvarc frekvenciája nem annyi mint amit a gyártó mond?” Hát nem... Idézet: „Egy 4 MHz-s kvracnál milyen osztás kell, hogy a Timer 1 másodpercenként adjon egy megszakítást?” Nem tudsz számolni? (egyébként 1 millió)
Pont ez az ami a lényeg. 1Hz pontosság a 2millióhoz képest szerintem már nagyon komoly alapot kívánna...
Szia!
A normál quartz 20-50 ppm pontos, egy 2.0000MHz felíratú 50ppm -es frekvenciája 2.000100 és 1.999900 MHz között mozoghat. Ha pontosabb kell, használj tokozott oszcillátort (XCO), hőkompenzált oszcillátort (TXCO). Ezek között van még 1-2 ppm -es típus is. Az igényeidhez még egy nagyságrenddel pontosabb kellene: 10MHz OCCOV 0.2 ppm fémtokos oszcillátor 34041 Ft +áfa ...
Igen de a Timer nem tud 1 millóig számolni. Akor hogyan oldod meg?
|
Bejelentkezés
Hirdetés |