Hallo Zusammen, im Moment experimentiere ich mit dem LPC810. Da der Prozessor so günstig ist, aber leider etwas kompliziert zu programmieren, habe ich begonnen, Arduino-kompatible Funktionen einzuführen. Das Blink-Beispiel des Arduino kann jetzt kopiert werden und in den LPC810 geladen. Das geht denkbar einfach: 1. Beispielcode in das file sketch_ino.c kopieren 2. make eintippen 3. mit Flahsmagic das Programm auf den LPC810 laden Es sind aber zur Zeit nur 3 Funktionen teilweise implementiert. Könnte das für jemanden hier interessant sein?
> Da der Prozessor so günstig ist, aber leider etwas kompliziert zu > programmieren, Nun, wer ARM will sollte auch ARM koennen. Auf eine Ar*uinoblinkbibliothek hat die Welt sicher gewartet.
ARM^3 schrieb im Beitrag #3790602: >> Da der Prozessor so günstig ist, aber leider etwas kompliziert zu >> programmieren, > > Nun, wer ARM will sollte auch ARM koennen. > > Auf eine Ar*uinoblinkbibliothek hat die Welt sicher gewartet. du meinst wohl: wer nxp will, sollte nxp koennen? arm liefert nur das design für den kern, nxp macht die peripherie und die c-libs
Also da wüsste ich meine Zeit besser zu nutzen als irgendwelchen Noobs jetzt auch noch den ARM vorzukauen....
Hanz Hanz schrieb: > Also da wüsste ich meine Zeit besser zu nutzen als irgendwelchen Noobs > jetzt auch noch den ARM vorzukauen.... Offensichtlich nicht, wenn die Zeit zu solchen geistlosen Postings langt. Demonstriert aber ganz treffend 32bittige Herablassung und Arroganz ;-(
Hanz Hanz schrieb: > Also da wüsste ich meine Zeit besser zu nutzen als irgendwelchen > Noobs > jetzt auch noch den ARM vorzukauen.... Du hast bei Arduino das Prinzif des Miteinanders nicht verstanden! Nur weil DU es nicht nutzen möchtest, bedeutet es nicht das DU dir erlauben kannst einen Kommentar abzuliefern der ANDEREN eventuell daran hindert es zu versuchen! Wenn Du von Arduino nix wissen willst, aktivir nen SPamfilter, lass die Finger von den Tasten und geh dem TE nicht auf den Wecker!
ARM^3 (Gast) schrieb >Nun, wer ARM will sollte auch ARM koennen. Warum eigentlich genau, möchtest Du den Leuten die ARM-Prozessoren vorenthalten? Guck mal hier: Beitrag "Arduino - bringt's das ?"
Ray (Gast) schrieb >Arduino Due?? und ... Teensy: https://www.pjrc.com/teensy/teensy31.html Arduino Tre: http://arstechnica.com/information-technology/2013/10/most-powerful-arduino-ever-has-arm-cortex-a8-chip-runs-full-linux/ Ether Due: http://www.freetronics.com/collections/arduino/products/etherdue-arduino-due-compatible-with-onboard-ethernet#.VAi6yq2vjFU STM32 Nucleo Familie: http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847?sc=stm32nucleo
Hier mal das Vorgehen. Als Grundlage für die Lib wird folgendes Repository verwendet: https://github.com/microbuilder/LPC810_CodeBase Dort kann man einige Wrapperfunktionen erstellen:
1 | void digitalWrite(uint8_t pin, uint8_t value) |
2 | {
|
3 | |
4 | if(value==1) LPC_GPIO_PORT->SET0 = 1 << pin; |
5 | else LPC_GPIO_PORT->CLR0 = 1 << pin; |
6 | |
7 | }
|
8 | ...
|
9 | |
10 | }
|
11 | void delay(uint32_t milliSeconds) |
12 | {
|
13 | mrtDelay(milliSeconds); |
14 | }
|
15 | ....
|
Damit kann dann das Arduino-Blink Example kompiliert werden:
1 | // the setup function runs once when you press reset or power the board
|
2 | void setup() { |
3 | // initialize digital pin 13 as an output.
|
4 | pinMode(13, OUTPUT); |
5 | }
|
6 | |
7 | // the loop function runs over and over again forever
|
8 | void loop() { |
9 | digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) |
10 | delay(1000); // wait for a second |
11 | digitalWrite(13, LOW); // turn the LED off by making the voltage LOW |
12 | delay(1000); // wait for a second |
13 | }
|
Das sieht doch deutlich übersichtlicher aus als das blink hier: https://github.com/microbuilder/LPC810_CodeBase/blob/master/src/main.c [/c]
Möcht mal wissen wer von den Arduinogegnern x86 oder x64 bis ins Detail kennen. Folgerichtig dürfte man erst Konsolenprogramme fürn PC schreiben wenn man in der Lage ist, MMU und Co. auf Registerebene ohne darunterliegendem OS zu konfigurieren und sein Programm irgendwie in den Speicher zu laden. Trotteln.
Jeder ernstzunehmender Programmierer schreibt sich seine eigenen Bibliotheken oder nimmt, noch eher, bereits fertige. Nichts anderes ist das Arduino-System - eine Sammlung vorgefertigter Biliotheken.
hoffentlich ist die Beta Testphase für das Neue arduino zero bald durch http://blog.arduino.cc/2014/08/01/20-arduino-zero-dev-edition-available-for-beta-testing-join-us/
>hoffentlich ist die Beta Testphase für das Neue arduino zero bald durch
Wie groß ist denn der Speicher des Zero?
Die SAMD21 gibt es von 32K-256K.
bal schrieb: > wer von den Arduinogegnern Der LPC810 ist grade auf Einfachheit ausgelegt und es macht nicht wirklich einen Unterschied ob Arduino oder direkt programmiert wird. Was aber klar gegen Arduino spricht, der LPC810 hat nur 4K Flash, da sollte man nicht mit Libraries anfangen. Übrigens auch die CMSIS für LPC8xx passt nicht auf den LPC810
Lothar schrieb: > da sollte > man nicht mit Libraries anfangen. Übrigens auch die CMSIS für LPC8xx > passt nicht auf den LPC810 ich finde die abgespeckte microbuilder Lib recht gut und übersichtlich, es sind ja nur eine handvoll Komponenten drin. Richtig übel im Vergleich ist die LPCOpen, die passt auch erst ab LPC812. Ellenlange Funktionsnamen durch die Prefixe Chip_ und Board_, um ein Byte per SPI zu verschicken kämpft man sich durch >30 Zeilen Code. Noch schöner finde ich die mbed lib, aber die ist auch für grössere Käfer, immerhin auch ab LPC812. In C++ sieht ein Pin setzen zB so aus:
1 | DigitalOut step(p5); |
2 | step = 1; |
Die Funktionalität der microbuilder LPC800 Lib bekommt man sicher auch noch in C++ hin.
>ich finde die abgespeckte microbuilder Lib recht gut und übersichtlich, Naja, die Arduino-lib ist halt sehr weit verbreitet. Mittlerweile versuchen viele Hersteller kompatible Boards zu machen. Mittlerweile habe ich an der Lib für den LPC810 schon ein wenig weiter gebaut. Leider hat er keinen ADC. Es gibt ein Beispiel für eine 5Bit SAR, den ich gerade etwas angepasst habe. http://blog.nano-age.co.uk/2014/08/creating-5-bit-successive-approximation.html Ich schreibe die LIB in C, da ich auf die schnelle keinen leicht zu installierenden g++-arm-non-eabi für Ubuntu gefunden habe. Das Testprogramm sieht im moment so aus:
1 | #include "sketch_ino.h" |
2 | |
3 | /*
|
4 | Arduino LPC810 compatibility test program
|
5 | */
|
6 | |
7 | int ledPin=2; |
8 | |
9 | // the setup function runs once when you press reset or power the board
|
10 | void setup() { |
11 | // initialize digital pin 13 as an output.
|
12 | pinMode(ledPin, OUTPUT); |
13 | Serial_begin(9600); // attention: slightly different syntax compared to Arduino |
14 | Serial_println("I'm LPC810"); |
15 | }
|
16 | |
17 | // the loop function runs over and over again forever
|
18 | void loop() { |
19 | digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level) |
20 | delay(100); // wait for 00ms |
21 | digitalWrite(ledPin, LOW); // turn the LED off by making the voltage LOW |
22 | delay(100); // wait for 100ms |
23 | Serial_print("ms time: "); |
24 | Serial_printnumber(millis()); |
25 | Serial_print("ADC: "); |
26 | Serial_printnumber(analogRead(2)); |
27 | Serial_println(""); |
28 | }
|
Jetzt gibt es die Alpha-Version für die Arduino-IDE. Damit soll sich der LPC810 direkt aus der Arduino-IDE programmieren lassen: https://github.com/bobc/OpenLasp/archive/master.zip Installation procedure: Copy the Arduino/hardware folder to your sketches folder Copy the OpenLaspExamples folder to your sketches folder Restart Arduino IDE
Man kann einen Arduino als Programmiergerät benutzen: http://www.hobby-roboter.de/forum/viewtopic.php?f=4&t=152 Den LPC810 gibt es z.B. bei Adafruit oder Farnell. Vielleicht hat mal jemand Lust Alpha-Tester zu spielen ;-)
Hi, ist das Projekt noch aktiv? Habe Interesse, zu testen. Hatte dieselbe Fragestellung, ob es eine Arduino Lib für LPC8xx gibt. Bin durch Google auf Euer Projekt gestoßen. Gruß, - Tom
da bist du etwas spät dran, die Produktion des LPC810 wurde schon eingestellt, da wirst du nur noch was aus Restbeständen bekommen. Programmieren kann man den LPC auch mit einem einfachen USB-RS232 Adapter mit TTL Pegeln und der Software FlashMagic. Da der Käfer recht wenig Speicher hat macht da nur eine einfache Lib Sinn. Oder natürlich gleich Registerprogrammierung, die LPC Peripherie ist da wesentlich angenehmer zu programmieren als die STM32. Auf Github findest du z.B. https://github.com/microbuilder/LPC810_CodeBase von K. Townsend. Wenn du nicht gerade eine genau passende Anwendung für den Kleinen hast würde ich einen der grösseren Brüder nehmen, LPC812 oder LPC824. Da es die nur in SMD gibt habe ich dafür Breakoutboards gemacht, davon kann ich bei Interesse welche abgeben.
Moin, ich will dir dein "Restpostengeschäft" ja nicht kaputtmachen, aber es gibt seit wenigen Tagen ein Breakoutboard mit dem PLC845 für etwas über 5 € netto (LPC845-BRK).
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.