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
> 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
1 | 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.
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
Ob Du auf die Bits so zugreifen kannst:
1 | TMR2IE = 1; //interrupt enable |
2 | TMR2IF = 0; |
3 | 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:
1 | PIE1bits.TMR2IE = 1; |
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
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 ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.