Ahoj.
Řeším jednu aplikaci s 16F88 a PWM a narazil jsem na problém, kde zadám pin pro PWM (RB0 nebo RB3). Podařilo se mi to jen v nastavení sw UP od Asix pro programátor Presto. Funguje mi to, jen se chci ujistit, zda bych nemohl v tom konfiguračním slově zadat přímo ten pin. V datasheetu píší, citace: Vstup nebo výstup modulu CCP1 může být konfigurován na vývodu RB0 nebo RB3. Volba se provádí pomocí bitu CCPMX, což je 12. bit konfiguračního slova mikropočítače. Nechci to jako 3FFF nebo tak, zajímá mě, jak to zapsat do __CONFIG. Moje převzatá nastavení konfigurace pro testování je zde:
;Nastaveni konfigurace procesoru:
__CONFIG _CONFIG1,_CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_IO
__CONFIG _CONFIG2,_IESO_OFF & _FCMEN_OFF
NASTAVENI_PWM ; vlastni nastaveni PWM
CLRF T2CON ; vynuluj registr T2CON
CLRF TMR2 ; vynuluj registr TMR2
CLRF INTCON ; vynuluj registr INTCON
BSF STATUS,RP0
CLRF PIE1 ; vynuluj registr PIE
BCF STATUS,RP0
CLRF PIR1 ; vynuluj registr PIR1
BSF STATUS,RP0
MOVLW 0XFF ; preddelic 1:16, po delic 1:16, TMR2 = ON
MOVWFPR2
BCF STATUS,RP0
MOVLW 0x00 ; nacti 0 do registru CCPR1L
MOVWF CCPR1L
MOVLW 0XFF
MOVWF T2CON ; prescaler 1:16 and postscaler 1:1
MOVLW 0x00 ; nacti 0 do registru CCP1CON
MOVWF CCP1CON ; vypnuti pwm
BSF T2CON,TMR2ON ; log. 1do registru T2CON,TMR2ON
SPUST _PWM
MOVLW 0x3F
MOVWF CCP1CON ; zapnuti pwm
TEST_2
CALL CEK15m
INCFSZ CCPR1L,F ; postupny nabeh pWM
GOTO TEST_2
atd ...... ; PWM 100% a nejake dalsi zpracovani bla, bla, bla ,....