Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   887 / 1320
(#) watt válasza Jossz hozzászólására (») Jan 14, 2011 /
 
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...)).
(#) trudnai válasza Jossz hozzászólására (») Jan 14, 2011 /
 
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).
(#) Csabax válasza icserny hozzászólására (») Jan 14, 2011 /
 
ú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
(#) Jossz válasza trudnai hozzászólására (») Jan 14, 2011 /
 
Köszi fiúk, sokat segítettetek! Jövök Nektek eggyel...
(#) Csabax hozzászólása Jan 14, 2011 / 1
 
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é)

main2.c
    
(#) Attila86 válasza icserny hozzászólására (») Jan 14, 2011 /
 
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.
(#) trudnai válasza Csabax hozzászólására (») Jan 14, 2011 /
 
Hol van a main fuggvenyed? Amugy mi a kerdes, mi nem megy?
(#) Csabax válasza trudnai hozzászólására (») Jan 14, 2011 /
 
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
(#) icserny válasza Csabax hozzászólására (») Jan 14, 2011 /
 
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:
„22. sor, 83. sor hibát ír de a többi is hibás”
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!
(#) Csabax válasza icserny hozzászólására (») Jan 14, 2011 /
 
Pillanat már futok is
Elnézést a Többiektől !
(#) Bago válasza vilmosd hozzászólására (») Jan 15, 2011 /
 
Nem. PIC16F874A volt, csak gondolom az elektronikán egy rossz bekötés vagy egy rövidzárlat tönkretette.
(#) szabics hozzászólása Jan 15, 2011 /
 
Van valainek pic frekvenciamérő rutin, ami 2MHz ig mér és Herz pontosságal bír?
(#) watt válasza szabics hozzászólására (») Jan 15, 2011 /
 
A kereső használata itt kötelező!
Bővebben: Link
(#) szabics válasza watt hozzászólására (») Jan 15, 2011 /
 
Köszi de az nem 1 Hz pontosságú MHz-n
(#) watt válasza szabics hozzászólására (») Jan 15, 2011 /
 
Akkor nincs...
(#) szabics válasza szabics hozzászólására (») Jan 15, 2011 /
 
C, Pic BasicPro rutin vagy erősen kommentezett asm. Köszi
(#) Jossz válasza szabics hozzászólására (») Jan 15, 2011 /
 
CCS C -hez példaprogram egy 50MHz-es frekiszámláló...
Én használtam átalakítva, nekem bevált.

EX_FREQC.C
    
(#) szabics válasza Jossz hozzászólására (») Jan 15, 2011 /
 
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
(#) szabics válasza Jossz hozzászólására (») Jan 15, 2011 /
 
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
(#) vilmosd válasza szabics hozzászólására (») Jan 15, 2011 /
 
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.
(#) szabics válasza vilmosd hozzászólására (») Jan 15, 2011 /
 
Értem. Asm-ben van valami egyszerű 1 msp-t előállító interuptrutin?
(#) vilmosd válasza szabics hozzászólására (») Jan 15, 2011 /
 
Hali
C-ben kb igy nez ki egy IT kezeles:
  1. #BYTE RTCC = 0x01
  2. #int_rtcc                           // This function is called every time
  3.                                                                         // the RTCC (timer0) overflows (255->0).
  4.                                     // For this program this is apx 65 times
  5.                                     // per second.
  6.  
  7. void clock_isr()
  8.         {                                                          
  9.                 RTCC = 100;
  10.          }
  11.  
  12. void main()
  13. {
  14.         setup_oscillator( OSC_4MHZ );
  15.         RTCC = 100;
  16.         setup_counters( RTCC_INTERNAL, RTCC_DIV_64 );
  17.         enable_interrupts(INT_RTCC);
  18.         enable_interrupts(GLOBAL);
  19.         .
  20.         .
  21.         while(1)
  22.         {
  23.          }
  24. }
Ez CCS C mintapelda, a RTCC=100; valtoztatasaval lehet beloni a pontos IT idot.
(#) watt válasza vilmosd hozzászólására (») Jan 15, 2011 /
 
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.
(#) vilmosd válasza szabics hozzászólására (») Jan 15, 2011 /
 
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.

Ejem_9.asm
    
(#) vilmosd válasza watt hozzászólására (») Jan 15, 2011 /
 
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.
(#) szabics válasza watt hozzászólására (») Jan 15, 2011 /
 
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?
(#) watt válasza szabics hozzászólására (») Jan 15, 2011 /
 
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ó)
(#) watt válasza vilmosd hozzászólására (») Jan 15, 2011 /
 
Pont ez az ami a lényeg. 1Hz pontosság a 2millióhoz képest szerintem már nagyon komoly alapot kívánna...
(#) Hp41C válasza szabics hozzászólására (») Jan 15, 2011 /
 
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 ...
(#) szabics válasza watt hozzászólására (») Jan 15, 2011 1 /
 
Igen de a Timer nem tud 1 millóig számolni. Akor hogyan oldod meg?
Következő: »»   887 / 1320
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