Deshalb geht es hier weiter.
So langsam bekomme ich etwas den Überblick und erkenne den "philosophischen" Unterschied zwischen Lazarus für AVR und der Arduino Idee.
Wiki meint zu Arduino: "Die Entwicklungsumgebung ... soll auch technisch weniger Versierten den Zugang zur Programmierung und zu Mikrocontrollern erleichtern. Die Programmierung selbst erfolgt in einer C- bzw. C++-ähnlichen Programmiersprache, wobei technische Details wie Header-Dateien vor den Anwendern weitgehend verborgen werden und umfangreiche Bibliotheken und Beispiele die Programmierung vereinfachen."
Das macht die IDE in meinen Augen gut.
Lazarus hingegen kümmert sich eigentlich nur um die "blanke" AVR Programmierung, mit einer steileren Lernkurve.
Von af0815 habe ich hier einen Versuch gefunden https://github.com/afriess/Laz_AVR_Lib eine Brücke zu bauen.
Das ist vielleicht für Umsteiger ganz hilfreich, da man so erst einmal einen Erfolg hat und anschließend in die Details gehen, verstehen und wegoptimieren kann.
Ich für meinen Teil, werde erst zu Lazarus AVR wechseln, wenn ich mit der Arduino IDE an Grenzen stoße.
Gestern habe ich z.B. ein 230V Relais mit einer IR-Fernbedienung geschaltet.
Das funktioniert einwandfrei, ist sinnvoll und benötigt nur ein paar leicht verständliche Zeilen.
Gehe ich richtig in der Annahme, dass das mit Lazarus ungleich schwieriger wäre?
Code: Alles auswählen
#include <IRremote.h>
const int RECV_PIN = 7;
const int RELAIS_PIN = 4;
IRrecv irrecv(RECV_PIN);
decode_results results;
unsigned long key_value = 0;
void setup(){
irrecv.enableIRIn();
irrecv.blink13(true);
pinMode(RELAIS_PIN,OUTPUT);
}
void loop(){
if (irrecv.decode(&results)){
if (results.value == 0XFFFFFFFF)
results.value = key_value;
switch(results.value){
case 0xFFA25D:
digitalWrite(RELAIS_PIN,LOW);
break;
case 0xFF22DD:
digitalWrite(RELAIS_PIN,HIGH);
break;
}
key_value = results.value;
irrecv.resume();
}
}