Hilfe PIC33FJ32MC 802 mplab x C30

OP (Firma: workii) #3654099
Lesenswert?

Hallo,

habe ein Problem beim einlesen zweier Rechtecksignale . . .


Arbeite mit:
MPLAB X IDE v2.05    c 30 compiler
Microstick II mit dsPIC33FJ32MC802


laut Datneblatt seite  281  ( 
http://ww1.microchip.com/downloads/en/DeviceDoc/70291G.pdf#M5.9.12142.Heading1.30.Memory.Organization 
)
scheint ja alles total einfach . . . aber leider nicht für mich  . . .

Bitte Euch dringent um  Hilfe

 unten  mein code

könnte auch alles falsch sein  . . .  bin anfänger... bitte helft mir es 
ist sehr wichtig.... hoffe ich habe nicht nur müll "programmiert" . . .

Leider weiß ich grad nicht weiter . . .

LG Moraira
----------------------------------------------------------------

#include "p33FJ128MC802.h"

int Signaleins[200];
void eADC(void)
{
    AD1CON1 = 0;
    AD1CON2 = 0;
    AD1CON3 = 0;
    AD1CON1 = 0x8206;
    AD1CON2 = 0x0100;
    AD1CON3 = 0x0000;

}

int readADC(int ch)
{
    Signaleins = ...............
}

int main(void)
{

AD1PCFGL = 0x0000;

TRISA = (0x0002);

eADC();

    while (1) {
    }
}
#3654118
Lesenswert?

Manu ELLA schrieb:
> int readADC(int ch)
Diese Funktion wie nie aufgerufen.

> bin anfänger
Hier gibt  es ein Tutorial für den PIC24, der ist ähnlich wie der 
dsPIC33.
Du könntest aber auch den im Lieferumfang enthaltenen PIC24 in den 
Microstick II stecken und das Tut mit dem durcharbeiten.
http://www.engscope.com/pic24-tutorial/11-adc/
Für den dsPIC33 kenn ich kein Tut.

Ansonsten würde ich mal Schritt für Schritt die Checkliste mit 
Datenblatt (siehe Anhang) durch gehen.
Angehängte Dateien:
#3654137
Lesenswert?

Auf den ersten Blick:

Also AD1PCFGL passt, wenn du nur analoge Eingänge benutzt.

Aber für zwei Eingänge reicht es nicht, wenn du nur RA1 als solchen 
initialisierst.

Max H. schrieb:
> Manu ELLA schrieb:
>> int readADC(int ch)
> Diese Funktion wie nie aufgerufen.

Das auch.


Um weiter helfen zu können schlage ich vor, du schreibst mal ein paar 
Kommentare in deinen Code, damit man sieht was du dir dabei gedacht 
hast. Sonst ist es sehr zeitaufwändig, weil man jedes Bit einzeln 
"umdrehen" muss.

Grüße,
Edson
OP (Firma: workii) #3654187
Lesenswert?

Hallo

erstma danke an euch beiden für die schnelle erstantwort.

ich werde das mal versuchen

hier nochmal der code mit Kommentaren, hoffe die sind soweit richtig bzw 
sinnvoll^^

Hänge auch noch eine kleines bild der Aufgabenstellung dran. Damit ihr 
wisst was ich vorhabe.

vielen dank für eure Hilfe schonmal!    habe ja noch 9 Tage . . juhuu^^

LG Moraira

--------------------------------------------

#include "p33FJ128MC802.h"

/*
 *
 */



int Signaleins[200]; //Varriablen

void eADC(void) // AD-Wandler
{
    AD1CON1 = 0; //Register1 zurücksetzen
    AD1CON2 = 0; //Register2 zurücksetzen
    AD1CON3 = 0; //Register3 zurücksetzen
    AD1CON1 = 0x8206; //R1 Einstellungen Output:signed integer / 10 Bit
    AD1CON2 = 0x0100; //R2 Einstellungen convert CH0 und CH1
    AD1CON3 = 0x0000; //R3 Einstellungen (keine ahnung einfach mal 
alles0)

}

int readADC(int ch)
{
    Signaleins =
}

int main(void) //Hauptprogramm
{

AD1PCFGL = 0x0000 //  Analog Input

TRISA = (0x0002); // Pin 4 als Input definieren

eADC(); // Funktionsaufruf AD-Wandler

    while (1) {
    }

}
Angehängte Dateien:
#3654362
Lesenswert?

Das allgemeine Datenblatt für den Controller wird dich nicht viel 
weiterbringen.
Google nach DS70183 und lade dir das "Familily Reference Manual - 
Section 16. ADC....." runter. Dort sind nicht nur die Register 
aufgelistet sondern auch Ablaufdiagramme für verschiedene 
ADC-Anwendungen (mit/ohne DMA usw.) beschrieben, der gesamte 
Wandlungsablauf mit Timingdiagrammen etc.
OP (Firma: workii) #3659582
Lesenswert?

Hi,

nunja diese pdf nutze ich ja schon, sonst wäre ich mit den "con" 
restigern gar nicht zu recht gekommen.....

ich weiß einfach grad nicht weiter . . .

Nebenbei, das Beispiel mit dem pic 24 ist ganz ok, verstehe aber auch 
nur die Hälfte. . .


wie könnte ich den mein Programm jetzt weiter schreiben ?


lg
Gast #3660430
Lesenswert?

Der dsPIC33 ist nicht so ganz trivial, wer er schon recht leistungsfähig 
ist (vergleichen mit AVR etc.).
Den ADC kann man vielfältig konfigurieren und auch entsprechend viel 
falsch machen. Ich wage zu behaupten, dass das für einen Anfänger 
schwierig wird.

Schau mal die Application notes durch, z.B.
http://ww1.microchip.com/downloads/en/DeviceDoc/CE400_ADC_IIR_Filter_2.zip
Da könntest Du Dir Code abkupfern.
OP (Firma: workii) #3660681
Lesenswert?

oben ist ein Bild der Aufgabe in meinem post  !


ich verzeifel hier einfach nur ............

falls irgendjemand weiß wiem an die aufgabe lösen kann bitte melden

Wie  ist EGAL ! ^.^

 >> muss kein pic33 sein.

so eine blöde aufgabe .... zum verzweifeln


lg

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren