aloha ihrs... bis vor kurzem habe ich msp430 in assembler programmiert, aber jetzt mache ich ein praktikum und soll einen lpc2378 programmieren. das board ist folgendes: http://www.thaieasyelec.com/Development-Tools/Development-Board/ARM/ARM7-LPC2378-BlueScreen.html und damit soll ich das proggen: Keil uVision4 ausserdem habe ich noch das mp3- und das breakout-board dazu. gibts auch auf der seite. leider habe ich von c++ ueberhaupt keine ahnung und im manual steht auch nix gescheites drin. also falls sich jetzt wieder jemand aufregt. da war das bei ti doch viel besser. da konnte man mit den user's guides wenigstens was anfangen. ausserdem kann ich mit den beispielen auch nichts anfangen. ich wollte das gern von anfang an lernen und auch gern verstehen. gibt es ein gutes buch oder irgendwelche unterlagen wie das genau bei dem mc geht? die register sind auch duerftig beschrieben finde ich. ueber etwas hilfe wuerde ich mich sehr freuen. bis denne g.
also ich denke ist nicht viel anders als beim MSP hier das Datenblatt http://ics.nxp.com/support/documents/microcontrollers/pdf/user.manual.lpc23xx.pdf auf Seite 172 findest du die jeweiligen Register für ein GPIO. DIR legt fest ob Eingang /Ausgang Und bei IOSET kannst du den Ausgang dann LOW/HIGH setzen Denke wenn du das Datenblatt ließt wird einiges klarer. Die Sprache ist allerdings C, wie bei den meisten µC
Immer diese Praktikanten... also erst lesen, suchen, lesen, verstehen, lesen, verzweifeln.... DANN erst DANN fragen ... hier mal was zu lesen: http://www.nxp.com/#/pip/pip=[pip=LPC2377_78]|pp=[t=pip,i=LPC2377_78] Übrigens die Beispiele deiner Inder Page sind alle in C Programmiert... was sonst... :)
Rechner... schrieb: > Übrigens die Beispiele deiner Inder Page sind alle in C Programmiert... > was sonst... :) Schaut mir mehr nach thailändisch aus...
Wegen C, würde ich mal hier schauen: http://de.wikibooks.org/wiki/C-Programmierung Die I/Os werden im Grunde genau so programmiert wie auch beim MSP. Es gibt Register für die Richtung (FIOxDIR), eins für die Daten (FIOxPIN), Register für die Funktion (PINSELx) usw. Etwas komplizierter wird es halt weil das Teil Open Collector Ausgänge und Pull-Up/Downs hat. Da kommen deswegen dann noch einige Rigister hinzu.
Gerrit L. schrieb: > leider habe ich von c++ ueberhaupt keine ahnung Abgesehen davon, dass es wohl kaum C++ sein wird: Dann musst du halt C lernen. Ist nicht so schwer. Aber man muss halt arbeiten. Ohne Fleiß kein Preis. Gerrit L. schrieb: > im manual steht auch > nix gescheites drin. Das wage ich zu bezweifeln. Dass da nicht drin steht wie man C programmiert ist ja auch klar. Sowas kann man getrost vorraussetzen wenn man sich mit Mikrocontrollern beschäftigt. Auch wenn div. Anfänger immer wieder versuchen das zu widerlegen. Geschafft hat's noch keiner. Gerrit L. schrieb: > ausserdem kann ich mit den beispielen auch > nichts anfangen. Kannst du kein C kannst du auch die Beispiele nicht verstehen. Gerrit L. schrieb: > ich wollte das gern von anfang an lernen und auch gern > verstehen. gibt es ein gutes buch oder irgendwelche unterlagen wie das > genau bei dem mc geht? Ein sehr guter Ansatz. Zuerst mal muss man ANSI-C (ganz normales C beherrschen). Das macht man am besten mit einem Buch: http://openbook.galileocomputing.de/c_von_a_bis_z/ Dieses ist sehr bekannt. Gibt's auch online wie du dem Link entnehmen kannst. Wenn man C kann dann kann man darüber nachdenken auf den Microcontroller umzusteigen. Gerrit L. schrieb: > die register sind auch duerftig beschrieben finde > ich. Es steht alles drin was man braucht. Es ist ein Datenblatt und kein Roman. Es gibt kurze & prägnante Informationen. Viel Erfolg
hey das sind doch schon mal einigermaßen gute ansätze. die datenblätter habe ich schon und die register sind dort zwar angegeben, aber eben nicht so gut wie bei ti. das war in assembler viel leichter und dort waren auch immer gleich programmierbeispiele. das konnte man immer gut einfügen. richtig, das ist thai, denn da bin ich für 3 monate und das ist auch mein problem. die wollen, dass ich das progge und die haben gesagt in c++. ich hatte das zwar mal im 1. semester, aber auch nur oberflächlich und jetzt komme ich eben nicht damit klar, wie ich das teil in c proggen soll. hätte man auch an meinem link erkannt www.thai.... :) also nix inder. heehee im netz habe ich auch kein gutes tutorial gefunden, um mal eben schnell einen einstieg in c zu bekommen ;) jaja, ich weiß das ist ein langer, harter weg, dass lernt man nicht so schnell usw. gg trotzdem ist dieses forum ja mal richtig gut. da bekommt man wenigstens schnell ein paar antworten. übrigens wollte ich noch ein paar sonnige grüße loswerden. gestern habe ich gefroren, da waren nur 28°C. bis denne g.
Gerrit L. schrieb: > jaja, ich weiß das ist ein langer, harter weg, dass lernt man nicht so > schnell usw. gg Also wenn du Assembler kannst, ist C doch ein Klacks. 1000x einfacher :)
das sagen alle, aber das glaube ich nicht so recht. sonst müsste ich das ja hinbekommen, aber ich peil da nix. also wie man mit c überhaupt auf die register zugreift usw. g.
Jörg S. schrieb: > Gerrit L. schrieb: >> jaja, ich weiß das ist ein langer, harter weg, dass lernt man nicht so >> schnell usw. gg > Also wenn du Assembler kannst, ist C doch ein Klacks. 1000x einfacher :) Da muss ich klar widersprechen. Assembler programmieren kann jeder - die frage ist nur wie gut. Das anspruchsvolle am Assembler programmieren ist effektiv zu bleiben. Gerrit L. schrieb: > das sagen alle, aber das glaube ich nicht so recht. sonst müsste ich das > ja hinbekommen, aber ich peil da nix. Das liegt aber daran, dass du noch nicht so recht programmiert hast. Gerrit L. schrieb: > also wie man mit c überhaupt auf > die register zugreift usw. Das bestätigt meinen Verdacht ... Mal ehrlich du hast doch noch keine Zeile programmiert ... Alle Ein und Ausgäng sind wie bei jedem Mikrocontroller mit einem sog. SFT (Special Function Register) verbunden. Je nach dem welchen Wert man in das Register schreibt werden entsprechende Pins z.B. high bzw. low Registername = Wert; z.B. Ausgangsregister1 = 208; Preisfrage: Welche Pins sind jetzt high und welche low ?
Lehrmann Michael schrieb: > Jörg S. schrieb: >> Also wenn du Assembler kannst, ist C doch ein Klacks. 1000x einfacher :) > Da muss ich klar widersprechen. Assembler programmieren kann jeder - die > frage ist nur wie gut. Es ging nicht darum ob das jeder kann, sondern ob es einfacher ist :) Wobei ich auch noch niemanden gesehen habe der an C verzweifelt ist.
Gerrit L. schrieb: > also wie man mit c überhaupt auf die register zugreift usw. Beispiel aus der Paxis für Pin auf high/low an P0.0:
1 | FIO0DIR |= 0x00000001; // P0.0 auf Ausgang, setzen von BIT0 in Register FIO0DIR |
2 | |
3 | FIO0SET = 0x00000001; // P0.0 auf high |
4 | FIO0CLR = 0x00000001; // P0.0 auf low |
5 | |
6 | // Alternativ mit PIN Register:
|
7 | FIO0PIN |= 0x00000001; // P0.0 auf high |
8 | FIO0PIN &=~0x00000001; // P0.0 auf low, löschen von BIT0 in Register FIO0PIN |
Dieser Würg-Around mit den Set- und Clear-Registern, um Bits atomar zu ändern, ist so ziemlich das schlimmste, was NXP da verbrochen hat. Wie schön einfach und effizient ist das doch beim guten alten 8051 gelöst: SETB Portpin CLR Portpin CPL Portpin JBC Portpin ANL Portregister ORL Portregister XRL Portregister Der Silabs 8051 kann sogar schneller mit den Pins wackeln, als ein ARM7-LPC. Peter
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.