Hallo, vielleicht benutzt ja auch jemand den CCS Compiler zusammen mit diesen PICs. Es geht um diese beiden Werte: AD Aquisition Time A/D Conversion Clock Select Bits Ich möchte nur eines: kurze, richtige Wandlungen, mehr nicht. Das Manual gibt es so gut wie nichts her. Wie stelle ich diese Werte ein, damit er zB bei 4 Mhz richtig wandelt? Und muss ich nach set_adc_channel(kanal), also einem Kanalwechsel warten bevor ich mit read_adc auslese? Gruss, Christian
Christian J. schrieb: > Hallo, > > vielleicht benutzt ja auch jemand den CCS Compiler zusammen mit diesen > PICs. > > Es geht um diese beiden Werte: > > AD Aquisition Time > A/D Conversion Clock Select Bits > > Ich möchte nur eines: kurze, richtige Wandlungen, mehr nicht. Das Manual > gibt es so gut wie nichts her. In Kapitel 17.2 des Datenblatts stehen für div. Taktfrequenzen die empfohlenen TAD-Werte. > > Wie stelle ich diese Werte ein, damit er zB bei 4 Mhz richtig wandelt? > Und muss ich nach set_adc_channel(kanal), also einem Kanalwechsel warten > bevor ich mit read_adc auslese? Ja, die Wartezeit wird im Datenblatt davor ausführlich ausgeführt.
zwar ein bischen offtopic, aber ernst gemeint: warum nimmst du für die 18er PICs nicht das kostenlose MPLAB und den kostenlosen C18 vom hersteller selbst, wo es doch so viele beispiele für diesen gibt? und by the way: wenn du im datenblatt ein register siehst, das du manipulieren willst, weisst du auch gleich wie die zeile C-code lauten muss ;-) ..ich weiss manchmal echt nicht, warum sich leute den CCS antun bei den PIC18xxx. CCS ist bei der inizialisierung und einfachen interrupts zwar einfacher, bei allem anderen aber dann nicht mehr - besonders wenn mal was nicht funktioniert, wie es "eigentlich" sollte, wie jetzt ^^ ich habe genug mitstudenten gesehen, die mit CCS frustriert waren, im gegensatz zu denen, die MPLAB + C18 brauchten ..CCS hat seine berechtigung für die 12er bis 16er PICs, wofür es vom hersteller keinen gratis C-compiler gibt.
Ich antworte einfach mal... Sind die beiden nicht irgendwie sehr unterschiedlich von der Art des Quellcodes? Als Beispiel: C18: INTCONbits.GIEH=1; //Enable all high priority interrupts Beim CCS gibt es wahrscheinlich etwas in der Art enable_hp_interrupts(true); Die CCS Variante finde ich deutlich besser zu lesen, leichter zu lernen, einzuprägen und wiederzuerkennen. Thomas
Also wenn du auch Assembler kannst, ist die C18 Schreibweise deutlich einfacher zu lesen, da sie sich genau auf die Bezeichnung der Register und Bits bezieht. Auch im Datenblatt bezieht man sich auf diese Bezeichnungen. Sollte ich wirklich irgendwann doch noch mal mit C anfangen, würde ich wohl den C18 nehmen, schon wegen den eindeutigeren Bezeichnungen. Sven
Wenn ich als nicht assembler kenner ein CSS Programm sehr kann ich mir auch ohne die Befehle vorher gekannt zu haben vorstellen was es macht. Bei einem C18 Programm verstehe ich erst mal gar nichts. Bei dir ist es wahrscheinlich andersrum. Der Vorteil ist natürlich, dass man wenn man sich in C18 einarbeitet mit der Hardware vertrauter wird und nicht drauf angewiesen ist, dass es einen passenden Befehl im CCS gibt. USB z.B. kennt meine alte Version gar nicht.
ich habe nie ge-assembler-et sondern habe mit cx55 (oder wie der c-compiler für PIC16 heisst) begonnen, aber dann sehr schnell auf die PIC18 und C18 gewechselt. bei C18 ist's sehr einfach: im library-pdf nachschlagen, ob's dafür eine fertige funktion gibt (fast immer der fall) und falls doch nicht, oder man etwas speziell anpassen möchte, dann im DS nachsehen und einfach das flag im register mit einer zeile c-code ändern. fertig :-) ..so, genug werbung gemacht ;-) (ps: habe keine microchip-aktien oder so)
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.