carlitost Inserito: 29 ottobre 2018 Segnala Share Inserito: 29 ottobre 2018 Buonasera, Volevo generare un pwm con frequenza a 18700 HZ con un DC 5%, premetto che come da titolo, sto usando MPLABx e XC8, Ho impostato l'oscilatore interno a 16mhz imposto il PLL con OSCTUNE =0x40 (0b01000000) imposto: PR2 = 0b11010101 ; T2CON = 0b00000101 ; CCPR1L = 0b00001010 ; CCP1CON = 0b00101100 ; simulo il tutto con proteus e ottengo un pwm con frequenza 18691 HZ. Credo sia accettabile. ma la cosa strana e' che se invece di usare OSCTUNE=0x40 uso OSCTUNEbits.INTSRC = 0b0; //bit 7 INTSRC: Internal Oscillator Low-Frequency Source Select bit // 1 = 31.25 kHz device clock derived from 16 MHz HFINTOSC source (divide-by-512 enabled) // 0 = 31 kHz device clock derived directly from LFINTOSC internal oscillator OSCTUNEbits.PLLEN = 0b1; //bit 6 PLLEN: Frequency Multiplier PLL for HFINTOSC Enable bit(1) // 1 = PLL enabled for HFINTOSC (8 MHz and 16 MHz only) // 0 = PLL disabled OSCTUNEbits.TUN = 0b000000; //bit 5-0 TUN<5:0>: Frequency Tuning bits // 011111 = Maximum frequency // 011110 = // • • • // 000001 = // 000000 = Oscillator module is running at the factory calibrated frequency. // 111111 = // • • • // 100000 = Minimum frequency Che dovrebbe essere uguale a OSCTUNE =0x40.... ottengo in simulazione una frequenza di 17800 Hz Dove sbaglio ??? Oppure è il compilatore free che fa ste cose? Dimenticavo il pic è un 18f24k20. Grazie. Carlo Link al commento Condividi su altri siti More sharing options...
carlitost Inserita: 3 novembre 2018 Autore Segnala Share Inserita: 3 novembre 2018 Vi aggiorno... dopo alcune prove ho dato la colpa a proteus... (sbagliando), infatti ho provato il tutto su un pic reale e frequenzimetro alla mano ottengo 2 frequenze diverse e rispettivamente 18670Hz e 17250hz a questo punto credo proprio che sia il compilatore a fare questi scherzi, quanquno ha per caso il compilatore per xc8 pro e un po di tempo per aiutarmi ? Link al commento Condividi su altri siti More sharing options...
carlitost Inserita: 16 novembre 2018 Autore Segnala Share Inserita: 16 novembre 2018 Risolto, provato su un altro pc e funziona tutto .. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora