Hallo
kann mir jemand helfen
Ich habe den Mikrocontroller XC167 von Infenion und möchte einen
einfachen Code schreiben
Am Analog-Eingang P5.5 und P5.6 soll eine analoge Spannung gegeben
werden
Diese muss dann konvertiert werden werden, und die Werte sollen an
Strom1 und Strom2 zurückgegeben.
Leider funktioniert ist dies nicht und ich kann s mir nicht erklären,
warum das so ist.
Ich erhalte komische Werte
muss ich an meinem StartXC167.A66 Datei außer ADCDIS EQU 0; was ändern
Vielen Dank für jede Hilfe.
1 | #include <xc167.h>
|
2 | #include <intrins.h>
|
3 | #include <XC16X.h>
|
4 |
|
5 | int AD_Strom_messung (int kanal);
|
6 | void init ();
|
7 |
|
8 | unsigned int Strom_Wert,Strom1,Strom2;
|
9 |
|
10 | main ()
|
11 | .
|
12 | while (1){
|
13 | .
|
14 | .
|
15 | Strom1 = AD_Strom_messung (5);
|
16 | Strom2 = AD_Strom_messung (6);
|
17 | .
|
18 | .
|
19 | }//ende of while
|
20 | }//ende of main
|
21 |
|
22 | void init ()
|
23 | {........
|
24 | P5DIDIS = 0xFFFF ;
|
25 | .
|
26 | .
|
27 | }
|
28 |
|
29 | int AD_Strom_messung (int kanal){
|
30 | ADC_CON = kanal + 0x0080 ;//Konvertierung starten
|
31 | do {
|
32 |
|
33 | }while (ADC_CON & 0x0100);//abwarten der Konvertierung
|
34 |
|
35 | Strom_Wert = ADC_DAT & 1023 ;// ablesen der Resultat
|
36 | return Strom_Wert;
|
37 | }
|