Hi,
Sorry I've been meaning to post the code I had for this, but have problems with the computer that has the file on.
The CCP3 output is set in the configuration bits, I'll have a look at the datasheet in a bit and give a better pointer.
EDIT: the joy of USB disks, found it!
Code:'************************************************************************************ '* HPWM Demo Code for PIC18F24K22 * '* * '* * '* * '************************************************************************************ asm __CONFIG _CONFIG1H, _FOSC_INTIO67_1H & _PLLCFG_OFF_1H & _PRICLKEN_ON_1H & _FCMEN_OFF_1H & _IESO_OFF_1H __CONFIG _CONFIG2L, _PWRTEN_ON_2L & _BOREN_OFF_2L & _BORV_285_2L __CONFIG _CONFIG2H, _WDTEN_NOSLP_2H & _WDTPS_512_2H __CONFIG _CONFIG3H, _CCP2MX_PORTB3_3H & _PBADEN_OFF_3H & _CCP3MX_PORTB5_3H & _HFOFST_OFF_3H & _T3CMX_PORTB5_3H & _P2BMX_PORTB5_3H & _MCLRE_EXTMCLR_3H __CONFIG _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _XINST_OFF_4L & _DEBUG_OFF_4L __CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L __CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H __CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L __CONFIG _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H & _WRTD_OFF_6H __CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L __CONFIG _CONFIG7H, _EBTRB_OFF_7H ENDASM Define OSC 8 LED2 var PORTA.0 ' Status LED LED1 var PORTA.1 ' Status LED RA2 var PORTA.2 ' RA3 var PORTA.3 ' RA4 var PORTA.4 ' RA5 var PORTA.5 ' RA6 VAR PORTA.6 ' Xtal RA7 var PORTA.7 ' Xtal PWM1 VAR PORTB.0 ' CH1 PWM Output RB1 VAR PORTB.1 ' RB2 VAR PORTB.2 ' PWM2 VAR PORTB.3 ' CH2 PWM Output RB4 VAR PORTB.4 ' Spare PWM3 VAR PORTB.5 ' CH3 PWm Output RB6 VAR PORTB.6 ' PGC / TX2 RB7 VAR PORTB.7 ' PGD / RX2 RC0 var PORTC.0 ' RC1 var PORTC.1 ' RC2 var PORTC.2 ' RC3 var PORTC.3 ' RC4 var PORTC.4 ' RC5 var PORTC.5 ' TXD1 var PORTC.6 ' TX1 RXD1 var PORTC.7 ' RX1 RE0 VAR PORTE.0 ' VPP/nMCLR ch1 var byte ch2 var byte ch3 var byte update var bit OSCCON = 100010 ' Set internal 8Mhz OSC OSCCON2 = 001100 while OSCCON.2 = 0 : WEND ' Wait for stable flag clear PORTA = 100000 ' Setup ports PORTB = 000000 PORTC = 000000 ANSELA = 000000 ANSELB = 000000 ANSELC = 000000 ' Config A2d ADCON2 = 101101 ADCON1 = 001000 ADCON0 = 011000 VREFCON0 = 100000 ' Enable voltage referance 2.048V TRISA = 000000 ' Setup TRIS TRISB = 000110 TRISC = 011000 GOTO start '------------------------------------------------------------------------------- ' Main program starts here '------------------------------------------------------------------------------- start: ch1 = 64 ' load some levels for the outputs ch2 = 128 ch3 = 192 update = 1 ' set flag to update PWM outputs '------------------------------------------------------------------------------- ' Main Loop '------------------------------------------------------------------------------- main: if update then ' If the flag is set to update then hpwm 4,ch1,500 ' load the PWM outputs with new values hpwm 3,ch2,500 hpwm 2,ch3,500 update = 0 ' clear update flag endif goto main end




Bookmarks