Forum: Mikrocontroller und Digitale Elektronik PIC 18F4480 ADC konfigurieren


von Dennis K. (scarfaceno1)


Lesenswert?

Guten Tag,

ich bin neu bei den PIC Controllern.

Ich habe vorher nur mit Atmel Controllern gearbeitet und habe nun ein 
Problem beim konfigurieren des ADC eines 18F4480.

Ich habe ein bestehendes Projekt übernommen welchen schon recht 
fortgeschritten ist.
Es befindet sich dort folgender Code:
1
// ADC-Einstellungen
2
  // Pins: A0 A1 A2 A3 A5 E0 E1 E2 B1 B4
3
  setup_adc_ports(AN0_TO_AN9);
4
  // Takt: T_AD = (1/clock)*div
5
  //            = (1/6553600)*8 = 0.30517578125µs
6
  // Zyklus: 12 * T_AD = 3.662109375µs
7
  // Hinweis: Ein Zyklus ist eine Konvertierung
8
  // Hinweis: Ein Zyklus dauert 11 T_AD und kann bis 12 T_AD betragen
9
  setup_adc(ADC_CLOCK_DIV_2);
und
1
// Constants used in SETUP_ADC_PORTS() are:
2
#define NO_ANALOGS   0x0F   // None
3
#define ALL_ANALOG   0x00   // A0 A1 A2 A3 A5 E0 E1 E2 B1 B4 B0            
4
#define AN0_TO_AN9   0x05   // A0 A1 A2 A3 A5 E0 E1 E2 B1 B4               
5
#define AN0_TO_AN8   0x06   // A0 A1 A2 A3 A5 E0 E1 E2 B1                  
6
#define AN0_TO_AN7   0x07   // A0 A1 A2 A3 A5 E0 E1 E2                     
7
#define AN0_TO_AN6   0x08   // A0 A1 A2 A3 A5 E0 E1                        
8
#define AN0_TO_AN5   0x09   // A0 A1 A2 A3 A5 E0                           
9
#define AN0_TO_AN4   0x0A   // A0 A1 A2 A3 A5
10
#define AN0_TO_AN3   0x0B   // A0 A1 A2 A3
11
#define AN0_TO_AN2   0x0C   // A0 A1 A2
12
#define AN0_TO_AN1   0x0D   // A0 A1
13
#define AN0          0x0E   // A0

Jetzt möchte ich nur PIN A2 aber digital nutzen.

Mit dem Datenblatt komme ich nicht weiter.
http://ww1.microchip.com/downloads/en/devicedoc/39637c.pdf
Kann mir jemand helfen, bitte.
Irgendwie ist ein einzelnes umkonfigurieren der Ports nicht möglich?

Vielen Dank
Scarface

von So ein Pech aber auch (Gast)


Lesenswert?

Wenn du A2 als digitalen Pin nutzen willst, kannst du nur A0 und A1 als 
analogen Eingang konfigurieren.

Mit PCFG3:PCFG0 kannst du nur die auf page 248 aufgezählten 
Kombinationen einstellen. Das ist bei allen 8bit Pics so.

Falls du 8 analoge Eingänge und Vref brauchst, geht das mit diesem Pic 
nicht.

von So ein Pech aber auch (Gast)


Lesenswert?

Ahmmm... natürlich kannst du Vref benutzen. Hättest nur ein unlösbares 
Problem, wenn eine digitale Sonderfunktion auf A2 liegt.

von Dennis K. (scarfaceno1)


Lesenswert?

Vref ist schon alles angeschlossen und konfiguriert. Pin A2 war als adc 
konfiguriert aber es war nichts angeschlossen.

Ein umkonfigurieren ohne alle anderen Pins zu beeinflussen ist also 
nicht möglich?

Gar nicht?

von Volker S. (vloki)


Lesenswert?

Dennis K. schrieb:
> Gar nicht?

Seite 248?

Der4480 ist schon rel. alt. Bei einem K80 oder gar einem K83 hättest du 
vermutlich mehr Möglichkeiten PINs individuell zu konfigurieren...

<edit> A2 als digitaler Ein- oder Ausgang?

: Bearbeitet durch User
von Dennis K. (scarfaceno1)


Lesenswert?

Eingang.

Im Zweifel würde ich ihn dann halt analog einlesen und und einer 
Schwelle vergleichen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.