Tutorial Arduino programmieren,

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Socke
Lazarusforum e. V.
Beiträge: 2714
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Tutorial Arduino programmieren,

Beitrag von Socke »

Timm Thaler hat geschrieben:Aber ist das Array in der Routine nun ein "dynamisches Array" in dem Sinn, den Pascal dafür verwendet (http://wiki.freepascal.org/Dynamic_array), oder kann man das so nicht sagen?


Ein Array als Funktionsparameter ohne vorherige Typdeklaration ist ein Open Array (Dokumentation) und damit weder statischer noch dynamischer Array.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

pluto
Lazarusforum e. V.
Beiträge: 7064
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Tutorial Arduino programmieren,

Beitrag von pluto »

Ich habe mal das Tutorial ausprobiert und kann nun erfolgreich ein Arduino Nano flashen....

Dabei gibt es derzeit noch zwei Sachen, die mir bisher aufgefallen sind:

1. Nach dem Uploaden, möchte die IDE gerne das Programm starten, welches es natürlich nicht gibt. Ich habe die Taste F9 wie in der Anleitung beschrieben geändert...

2. http://wiki.freepascal.org/AVR_Embedded ... _Delays/de
Da gibt es die Beispiel Funktion: delay_ms
Jedoch wird nicht erwähnt, welchen wert man bei fcpu angeben muss/könnte...

Ansonsten sehr gut geschrieben. Selten so ein Detail reiches Tutorial gelesen....

Die Hex Datei vom Blink Beispiel in Lazarus ist etwas größer als die von Arduino....

Was ich etwas schade finde ist noch die Handharbung: z.b. wenn sich der USB Port ändert, muss ich umständlich in das Dialog und es dort anpassen.
Und auch, wenn ich ein anderen MC ausprobieren möchte...
Schöner wäre es hier, ein Dialog zu haben, vielleicht sogar im OI? Dann könnten relativ leicht einige Parameter ausgewählt werden...

Ich finde es aber schon erstaunlich, wie einfach es inzwischen ist, das ganze erst mal zum Laufen zu bekommen....
MFG
Michael Springwald

Timm Thaler
Beiträge: 1027
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Tutorial Arduino programmieren,

Beitrag von Timm Thaler »

pluto hat geschrieben:Die Hex Datei vom Blink Beispiel in Lazarus ist etwas größer als die von Arduino....


FPC macht wahrscheinlich mehr Sram Initialisierung am Anfang, das verläuft sich aber bei größeren Programmen.

Mathias
Beiträge: 4722
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Was ich etwas schade finde ist noch die Handharbung: z.b. wenn sich der USB Port ändert, muss ich umständlich in das Dialog und es dort anpassen.
Und auch, wenn ich ein anderen MC ausprobieren möchte...
Schöner wäre es hier, ein Dialog zu haben, vielleicht sogar im OI? Dann könnten relativ leicht einige Parameter ausgewählt werden...

Dies ist leider ein alt bekanntes Problem. Lazarus wäre dafür fähig, man müsste (nur) eine passende Package coden. Siehe "Web-Project (pas2js)".

Aber man müsste ein Programmierer finden, welcher das in Lazarus umsetzt.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

pluto
Lazarusforum e. V.
Beiträge: 7064
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Tutorial Arduino programmieren,

Beitrag von pluto »

FPC macht wahrscheinlich mehr Sram Initialisierung am Anfang, das verläuft sich aber bei größeren Programmen.

Es ist auch gar nicht so viel:
Arduino Blick Beispiel 928 Bytes
Das Blinkbeispiel vom Tutorial 991 Bytes

Aber man müsste ein Programmierer finden, welcher das in Lazarus umsetzt.

Ja, dass wäre Praktisch.. Ich könnte mir nur ein hilfsprogramm vorstellen im Moment, welches die entsprechende Config Ändern.
Ich hoffe da findet sich jemand...

Ich frage mich: Gehen vielleicht sogar Makros? bzw. #defines? oder ähnliches?

Erst mal bin ich Überrascht, dass es relativ einfach ist, dass einzurichten und das es läuft...
MFG
Michael Springwald

Mathias
Beiträge: 4722
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Mal schauen, ob man den Quelltext von "Web-Project (pas2js)" findet, vielleicht könnte man dis dann modifizieren.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 4722
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Mit einer Abänderung dieser Package könnte man vielleicht AVR-Optionen einstellen.

http://svn.freepascal.org:8080/mfriebe/ ... nts/pas2js
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

pluto
Lazarusforum e. V.
Beiträge: 7064
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Tutorial Arduino programmieren,

Beitrag von pluto »

Bei der Beispielfunktion

Code: Alles auswählen

procedure UART_RX_Empfang; public Name 'USART__RX_ISR'; interrupt;

Gibt es ein Fehlermeldung: project1.pas(98,57) Warning: Calling convention directive ignored: "OldFPCCall"

Ich glaube darum klappt dieses Beispiel auch nicht...
MFG
Michael Springwald

Mathias
Beiträge: 4722
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Gibt es ein Fehlermeldung: project1.pas(98,57) Warning: Calling convention directive ignored: "OldFPCCall"

Diese Warnung bekomme ich auch.

Was für einen AVR hast du probiert ?

Hast du dieses Beispiel hier probiert ? http://wiki.freepascal.org/AVR_Embedded ... angspuffer
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 4722
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Schon mal ein Anfang. :wink:
Dateianhänge
Bildschirmfoto vom 2018-08-26 22-49-41.png
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

Timm Thaler
Beiträge: 1027
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Tutorial Arduino programmieren,

Beitrag von Timm Thaler »

Mathias hat geschrieben:Schon mal ein Anfang.


Ups, wo kommt das denn her?

Ich geb zu, ich nehm momentan immer ein vorhandenes AVR-Projekt und kopiere das, passe dann Unitnamen, Projektpfade, Compilereinstellungen an.

Das mach ich aber bei anderen Projekten auch so, weil man ja seltenst von Grund auf neu anfängt... ;-)

Mathias
Beiträge: 4722
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Ups, wo kommt das denn her?
Ich habe an der pas2js rumgebastelt.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

pluto
Lazarusforum e. V.
Beiträge: 7064
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Tutorial Arduino programmieren,

Beitrag von pluto »

Was für einen AVR hast du probiert ?

Das was angegeben wurde im ersten Tutorial unter
"AVR-Crosscompiler bauen:"
Das habe ich übernommen.

ast du dieses Beispiel hier probiert ? http://wiki.freepascal.org/AVR_Embedded ... angspuffer

Ja, genau...
MFG
Michael Springwald

Mathias
Beiträge: 4722
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Hast du einen Atmeha328 verwendet, oder etwas anderes ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

pluto
Lazarusforum e. V.
Beiträge: 7064
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Tutorial Arduino programmieren,

Beitrag von pluto »

Ich habe ein Arduino Nano mit einem atMega328 verwendet.
MFG
Michael Springwald

Antworten