Alain,
Still nothing. I upgraded to 8.46. Now when I compile it opens up a DOS window and does something REALLY quick using MPASMwin.exe then returns with a bunch of errors.....my code is below....
Is it sufficient to choose the device in MicroStudio or do I need to call it within the ASM section in the code?
DEFINE OSC 8
ASM
__config _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _CPD_OFF & _BOREN_ON & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
__config _CONFIG2, _PLLEN_OFF & _LVP_OFF & _VCAPEN_OFF & _LVP_OFF & _STVREN_OFF
ENDASM
TRISA = 0
TRISB = 0
Duty VAR WORD
Init:
CCPTMRS = %00000000 ' CCP1 is based off Timer 2 in PWM Mode
PR2 = 49 ' Set PWM for ~40kHz
CCP1CON = %00001100 ' Mode select = PWM
T2CON = %00000100 ' %00000100 = TMR2 ON 1:1 prescale
Duty = 100 ' Roughly 50% duty cycle
CCP1CON.4 = duty.0 ' Setup 10-bit duty cycle as
CCP1CON.5 = duty.1 ' a 10-bit word
CCPR1L = DUTY
APFCON0 = 1 ' Assigns CCP1 PWM output to RB0 (RB3 is used for MODOUT)
OSCCON = %01110000 ' 8MHz internal
ANSELA = 0 ' all digital. A/D disabled
ANSELB = 0
' Data Signal Modulator setup
' Notes:
' MDSRC.7 = 1, which eliminates the USART TX signal output on RB2/TX.
' The PWM output signal, on CCP1 pin, which is set to RB0 with APFCON0=1
' has been disabled by setting MDCARL.7
' So even with the hardware USART outputting data, and PWM on, thier output pins
' are disabled. PWM and the serial data output from the USART are "mixed" internally
' by the Data Signal Modulator.
MDCON = %11100000 ' modulator, MODOUT pin, slew rate limiting enabled
MDSRC = %10001010 ' USART TX is modulation source, TX output "pin" disabled
MDCARH = %00000000 ' carrier OFF during idle periods
MDCARL = %10000100 ' carrier ON only when sending data, CCP1 PWM "pin" output disabled
Main:
HSEROUT [$55] ' sends USART data out modulated at 40kHz
PAUSE 500
GOTO Main
END
Bookmarks