Analogove vstupy PIC18F45k22
Napsal: 08 čer 2015, 11:16
Ahoj,
po nejake dobe bych potreboval radu profiku.
Mam pic18F45k22. Nektere piny funguji jako vstupy, nektere ne. Jedna se zrejme o nastaveni procesoru nebo vypnuti nejakych komparatoru. Potrebuji zprovoznit vstup AN8 (pinB2) a AN9(pinB3). Vzhledem k tomu, ze jsem samouk, dostal jsem se do slepe ulice, nevim jak na to. Prekladac nehlasi chybu, ale jakmile se ma pecist hodnota AN8, sekne se program, ceka na bit GO, ktery neprichazi. TRIS a ANSEL mam zapnuty. Zrejme mi tedy uchazi neco dalsiho. Config jsem oslehl z netu, mozna je chyba v nem?
Prosim poradte!
vynatky z kodu:
po nejake dobe bych potreboval radu profiku.
Prosim poradte!
vynatky z kodu:
Kód: Vybrat vše
#pragma config FOSC = INTIO7
//#pragma config PLLCFG = OFF
#pragma config PLLCFG = ON
//#pragma config PRICLKEN = OFF
#pragma config PRICLKEN = ON
#pragma config FCMEN = OFF
#pragma config IESO = OFF
// CONFIG2L
#pragma config PWRTEN = OFF
#pragma config BOREN = SBORDIS
#pragma config BORV = 190
// CONFIG2H
#pragma config WDTEN = OFF
#pragma config WDTPS = 32768
// CONFIG3H
#pragma config CCP2MX = PORTC1
#pragma config PBADEN = ON
#pragma config CCP3MX = PORTB5
#pragma config HFOFST = ON
#pragma config T3CMX = PORTC0
#pragma config P2BMX = PORTD2
#pragma config MCLRE = INTMCLR
#pragma config STVREN = ON
#pragma config LVP = OFF
#pragma config XINST = OFF
.
.
.
TRISBbits.TRISB2 = 1; //input
TRISBbits.TRISB3 = 1; //
ANSELBbits.ANSB2 = 1; //analog AN8
ANSELBbits.ANSB3 = 1; //analog AN9
.
.
.
ADCON0 = 0b00100001; //AN8 RB2 temp1
__delay_us(10);
GO = 1;
while (GO) continue;
temp1 = ADRES;
.
.
.
ADCON0 = 0b00100101; //AN9 RB3 temp2
__delay_us(10);
GO = 1;
while (GO) continue;
temp1 = ADRES;
.
.
.