It seems trivial but unortunately I cannot enable the Pull Ups on the Port E <0:1> of the 45K22.
Here is my setup:
It does not enable the pull ups on port E no matter what. Any help appreciated.Code:#CONFIG CONFIG FOSC = INTIO67 ; Internal oscillator block CONFIG PLLCFG = ON ; PLL Control CONFIG PRICLKEN = OFF ; Primary clock can be disabled by software CONFIG FCMEN = OFF ; Fail-Safe Clock Monitor disabled CONFIG IESO = OFF ; Oscillator Switchover mode disabled CONFIG PWRTEN = OFF ; Power up timer disabled CONFIG BOREN = SBORDIS ; Brown-out Reset enabled in hardware only (SBOREN is disabled) CONFIG BORV = 190 ; VBOR set to 1.90 V nominal CONFIG WDTEN = OFF ; WDT is always enabled. SWDTEN bit has no effect CONFIG WDTPS = 32768 ; 1:32768 CONFIG CCP2MX = PORTC1 ; CCP2 input/output is multiplexed with RC1 CONFIG PBADEN = OFF ; PORTB<5:0> pins are configured as digital I/O on Reset CONFIG CCP3MX = PORTB5 ; P3A/CCP3 input/output is multiplexed with RB5 CONFIG HFOFST = ON ; HFINTOSC output and ready status are not delayed by the oscillator stable status CONFIG T3CMX = PORTC0 ; T3CKI is on RC0 CONFIG P2BMX = PORTD2 ; P2B is on RD2 CONFIG MCLRE = EXTMCLR ; MCLR pin disabled, RE3 input pin enabled CONFIG STVREN = ON ; Stack full/underflow will cause Reset CONFIG LVP = OFF ; Single-Supply ICSP disabled CONFIG XINST = OFF ; Instruction set extension and Indexed Addressing mode disabled (Legacy mode) CONFIG DEBUG = OFF ; Disabled CONFIG CP0 = OFF ; Block 0 (000800-001FFFh) not code-protected CONFIG CP1 = OFF ; Block 1 (002000-003FFFh) not code-protected CONFIG CP2 = OFF ; Block 2 (004000-005FFFh) not code-protected CONFIG CP3 = OFF ; Block 3 (006000-007FFFh) not code-protected CONFIG CPB = OFF ; Boot block (000000-0007FFh) not code-protected CONFIG CPD = OFF ; Data EEPROM not code-protected CONFIG WRT0 = OFF ; Block 0 (000800-001FFFh) not write-protected CONFIG WRT1 = OFF ; Block 1 (002000-003FFFh) not write-protected CONFIG WRT2 = OFF ; Block 2 (004000-005FFFh) not write-protected CONFIG WRT3 = OFF ; Block 3 (006000-007FFFh) not write-protected CONFIG WRTC = OFF ; Configuration registers (300000-3000FFh) not write-protected CONFIG WRTB = OFF ; Boot Block (000000-0007FFh) not write-protected CONFIG WRTD = OFF ; Data EEPROM not write-protected CONFIG EBTR0 = OFF ; Block 0 (000800-001FFFh) not protected from table reads executed in other blocks CONFIG EBTR1 = OFF ; Block 1 (002000-003FFFh) not protected from table reads executed in other blocks CONFIG EBTR2 = OFF ; Block 2 (004000-005FFFh) not protected from table reads executed in other blocks CONFIG EBTR3 = OFF ; Block 3 (006000-007FFFh) not protected from table reads executed in other blocks CONFIG EBTRB = OFF ; Boot Block (000000-0007FFh) not protected from table reads executed in other blocks #ENDCONFIG DEFINE OSC 64 ' Setup PLL for 64 MHZ OSCCON = %01110000 ; 16 mhz (NOTE: SCS=0 so PLL works) OSCCON2= %00000100 OSCTUNE= %01000000 ; PLL enable Mhz * 4 ANSELA = 0 ANSELB = 0 ANSELC = 0 ANSELD = 0 ANSELE = 0 ' Set LCD Data port DEFINE LCD_DREG PORTD ' Set starting Data bit (0 or 4) if 4-bit bus DEFINE LCD_DBIT 0 ' Set LCD Register Select port DEFINE LCD_RSREG PORTC ' Set LCD Register Select bit DEFINE LCD_RSBIT 2 ' Set LCD Enable port DEFINE LCD_EREG PORTC ' Set LCD Enable bit DEFINE LCD_EBIT 3 ' Set LCD bus size (4 or 8 bits) DEFINE LCD_BITS 4 ' Set number of lines on LCD DEFINE LCD_LINES 4 ' Set command delay time in us DEFINE LCD_COMMANDUS 1500 ' Set data delay time in us DEFINE LCD_DATAUS 50 ' Set receive register to receiver enabled DEFINE HSER_RCSTA 90h ' Set transmit register to transmitter enabled DEFINE HSER_TXSTA 20h ' Set baud rate DEFINE HSER_BAUD 9600 DEFINE HSER_SPBRG1 103 DEFINE HSER_CLROERR 1 ' Auto clear over-run errors 'DEFINE HSER_TXSTA 24h '9600 baud rate, BRGH=1 'DEFINE HSER_BAUD 115200 'DEFINE HSER_SPBRG1 34 BAUDCON1 = %00000000 ' bit 4 0:Needs UART, 1:No UART chip INTCON2.7=0 WPUB.5=1 CM1CON0.7=0 CM2CON0.7=0 'PWM 1 and PWM 2 module settings '''trisb.5=1:trisc.1=1 'disable output '''ccptmrs0=0 '''ccptmrs1=0 '''PR2=255 ''''CCP1CON=$0C '''CCP2CON=$0C '''CCP3CON=$0C ''''ccp1con.5=0:ccp1con.4=0:ccpr1l=0 '''ccp2con.5=1:ccp2con.4=1:ccpr2l=255 '''ccp3con.5=1:ccp3con.4=1:ccpr3l=255 ''''clear '''pir1.1=0 '''t2con=%0000101 '''while !pir1.1:wend '''trisb.5=0:trisc.1=0 'enable output 'Initializing Port Registers PORTA = 0:PORTB = 0:PORTC = 0:PORTD = 0:PORTE = 0 TRISA = 0:TRISB = 0:TRISC = 128:TRISD = 0:TRISE = %10000011 ' Main Program start: WHILE 1 IF PORTE.1 then LCDOUT $FE,$80,"Card present" ELSE LCDOUT $FE,$80,"Card absent " ENDIF WEND END
Ioannis




Bookmarks