mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC18F4550 timer und ADC problem


Autor: Karl H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi, also ich hätte da ein paar fragen bezüglich des PIC18F4550.

ich wollte nun erstmal fragen, wie ich genau den timer z.b. mal den 
timer2 starten und auch benutzen kann... hab schon gegooglt aber finde 
da irgendwie nichts brauchbares in C...
mit dem timer0 funktionierts mit dem 2er nicht...
bitte schreibt mir mal so eine art democode wie ich den timer2 definiere 
(und benutze aber naja da brauch ich nur die interrupt methode und das 
ist mir eigentlich klar)...


weiters wüsste ich gerne wie ich den ADC ein bzw. ausschalte und benutze
und wie ich z.b. zw. zwei Oszillatoren wechsle, also ich habe einen am 
t10s0/t10s1 und der andere am OSC1/OSC2


mfg

Autor: Zwirbeljupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ich wollte nun erstmal fragen, wie ich genau den timer z.b. mal den
> timer2 starten und auch benutzen kann...
Über den Register T2CON starten.
Den Register TMR2 zum "Benutzen".
Du solltest schon in der Lage sein, das Datenblatt des entsprechenden 
Chips zu finden und zu lesen. Sonst wirst Du Dich mit Deinem Vorhaben 
etwas schwer tun...

> hab schon gegooglt aber finde
> da irgendwie nichts brauchbares in C...
Tja, vielleicht, weil es sich nicht lohnt für die Zeile
T2CON = 0x04;
ein Tutorial zu schreiben und hochzuladen?

> mit dem timer0 funktionierts mit dem 2er nicht...
Du schaffst es also, den Timer0 zu konfigurieren und zu benutzen, aber 
nicht Timer2? Soso...

> (und benutze aber naja da brauch ich nur die interrupt methode und das
> ist mir eigentlich klar)...
Was ist denn die "interrupt methode"?

> weiters wüsste ich gerne wie ich den ADC ein bzw. ausschalte und benutze
> und wie ich z.b. zw. zwei Oszillatoren wechsle, also ich habe einen am
> t10s0/t10s1 und der andere am OSC1/OSC2
Das läuft exakt genauso wie die Geschichte mit den Timern: einfach über 
die entsprechenden Register konfigurieren. Wie die im Detail heißen, 
findest Du im Datenblatt.

> bitte schreibt mir mal so eine art democode wie ich den timer2 definiere
Aber gerne, sonst noch Wünsche?


Sorry, aber hier wird Dir niemand Deine Hausaufgaben machen bzw. die 
Infos aus dem Datenblatt heraussuchen. Wenn man an Deiner Fragestellung 
merkt, dass Du Dich bereits mit der Materie intensiv auseinandergesetzt 
hast und Du konkrete Fragen hast, dann wird Dir hier auch gerne 
geholfen.
Aber wenn Du erwartest, dass Dir jemand alles vorkaut, bist Du hier 
falsch.

Autor: Karl H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
okay mithilfe des datenblatts hab ich das zusammenbekommen....
und es kommen dann ziemlich viele fehler

(T2CON = 0x04;)
TMR2IE = 1;  //interrupt enable
TMR2IF = 0;
TMR2IP = 1; //high oder low priority

Autor: Zwirbeljupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ob Du auf die Bits so zugreifen kannst:
TMR2IE = 1;  //interrupt enable
TMR2IF = 0;
TMR2IP = 1; //high oder low priority
hängt vom Compiler und den Headerfiles ab. Welchen Compiler Du 
verwendest, hast Du aber auch verschwiegen.

Eigentlich liegen die Bits verstreut in den Registern PIR1, IPR1 und 
PIE1 und müssen auch dort gesetzt werden.

Beim C18 würde man z.B. den Interrupt des Timer2 so aktivieren:
PIE1bits.TMR2IE = 1;

Autor: Karl H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, also ja ich benutze den c18 compiler, aber wie finde ich heraus wie 
ich z.b. beim c18 den interrupt aktivieren kann, weil das habe ich z.b. 
im datenblatt von meinem pic nichtgelesen, und werde es dort auch nicht 
finden weil dies ja vom compiler abhängig ist.

gibt es da extra noch ein compiler datenblatt oder wie?

mfg

Autor: Master Snowman (snowman)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
wenn auch undokumentiert, vielleicht hilft dir das attachment ;-)
ps: lade dir zumindest das aktuelle "MPLAB C18 Libraries.pdf" von 
Microchip runter, das vereinfacht sehr vieles ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.