Ω arduino tips & trix Version 14/10 2021 / Valle Thorø Side 1 af 16 Links til emner i dokumentet: Brug Notepad++ som ekstern editor, Se Alternative Editorer, Kopier farvet kode til Word med Notepad++. Online Code Beautifier muligheder: Brug Tabs i Arduino IDE Intern Pullups på inputpins, Tilføje flere I/O, #define, ide / hjælp til debugning Deling af kode Ændre Opsætning af IDE, Linjenumre og foldning af kodestruktur Thinkercad: Diagramtegning m. fumleboard Frigør lidt RAM, Printudlæg til Shields, Brug af Notepad++ som ekstern editor Den editor, IDE, Integrated Development Environment, der er i Arduino softwaren, kunne let have været meget bedre. Derfor kan det være interessant at bruge en anden editor, fx Notepad++ ( også kaldet NPP ) sammen med Arduino IDE’en. Notepad udmærker sig ved, at have en meget bedre editor til kildetekst, men den har ingen compiler og upload - funktioner. Men Arduino IDE kan indstilles til brug af ekstern editor, og kun fungere som kode-verificering og upload. ! Indstil Arduino IDE til at bruge extern editor
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Ω arduino tips & trix Version
14/10 2021
/ Valle Thorø Side 1 af 16
Links til emner i dokumentet:
Brug Notepad++ som ekstern editor, Se Alternative Editorer,
Kopier farvet kode til Word med Notepad++. Online Code Beautifier muligheder:
Brug Tabs i Arduino IDE
Intern Pullups på inputpins, Tilføje flere I/O,
#define, ide / hjælp til debugning
Deling af kode
Ændre Opsætning af IDE, Linjenumre og foldning af kodestruktur
Thinkercad: Diagramtegning m. fumleboard
Frigør lidt RAM, Printudlæg til Shields,
Brug af Notepad++ som ekstern editor
Den editor, IDE, Integrated Development Environment, der er i Arduino softwaren, kunne let have
været meget bedre. Derfor kan det være interessant at bruge en anden editor, fx Notepad++ ( også
kaldet NPP ) sammen med Arduino IDE’en.
Notepad udmærker sig ved, at have en meget bedre editor til kildetekst, men den har ingen compiler
og upload - funktioner.
Men Arduino IDE kan indstilles til brug af ekstern editor, og kun fungere som kode-verificering og
upload. !
Indstil Arduino IDE til at bruge extern editor
Ω arduino tips & trix Version
14/10 2021
/ Valle Thorø Side 2 af 16
Vælg Fil / Indstillinger
Sæt flueben i ” Brug ekstern editor ” og OK.
Herefter vil programmet blive gråtonet.
Når en kildetekst herefter er editeret i NPP
og gemt, opdateres teksten i Arduino IDE,
hver gang der trykkes på Verificer eller
Upload
Hvordan bruges de to programmer sammen?
Den kildetekst, der arbejdes på, skal åbnes i Arduino IDE.
Arduino IDE skal indstilles til brug ekstern editor.
Kildeteksten skal åbnes og editeres i NPP. Eventuelt ved at browse til filen, højreklik og vælg at
åbne med NPP.
Efter editering gemmes filen i NPP
Swap til Arduino IDE og tryk Verificer / eller upload.
Opsætning af Notepad++
Notepad++ er ”blot” en teksteditor beregnet til kode. Men den har en del funktioner til forskellige
typer programsprog.
Fx kan nævnes:
Farvning af forskellige keywords, Kopiering af linjer ved at Kontrol+trække en linje.
Udfolde / sammenfolde en programstruktur.
Men den eksterne editor kan ikke stå alene, idet den ikke har compiler og upload af program i sig.
Derfor skal begge programmer involveres.
Ω arduino tips & trix Version
14/10 2021
/ Valle Thorø Side 3 af 16
Hent Notepad++,
Programmet er Freeware!
Et skærmbillede af NPP editoren.
Når NPP er startet, skal det opsættes til brug sammen med det softwaresprog, der bruges i Arduino-
verdenen.
NPP kan indstilles til mange forskellige programmeringssprog: Her skal det være C eller C++.
Sublimetext, der selv foreslår færdiggørelse af linjer og variable: http://www.sublimetext.com/3
( der er også en Mac, og en linux-version ) Se: http://playground.arduino.cc/Code/Eclipse
For alternative editor, der har indbygget Compiler og upload: søg efter MariaMole
Editor for Apple ??? : TextWrangler ( free )
Arduino har en hjemmeside om alternative editorer: http://playground.arduino.cc/Main/DevelopmentTools
Alternativ editor: http://programino.com/ide-for-arduino.html
Citat:
“I do recommend getting away from the IDE quickly though for writing code--just use it for compilation. Set the IDE preferences to use "External Editor." Then use a professional source code editor/IDE such as Sublime Text 3, Atom, Visual Studio Code, or Eclipse CDT to write your code. You can then click back to the Arduino IDE to compile and upload. If you go with
Eclipse, there are ways to do that in Eclipse (see the other answers here, and see the Arduino playground Eclipse article here too) so consider using those techniques too.”
#define definerer et ord til at betyde noget andet. Fx. #define FIVE 5 betyder,
at alle de steder, man vil skrive 5 kan man i stedet bruge FIVE.
#ifdef tester om et ord er defineret, dvs. større end 0. Og #ifndef tester, om
et ord ikke er defineret.
#endif afslutter en #if
----------------------- */
#if tests if a condition is true. #else provides an alternative case for an #if, in case it is not true. The #if condition is evaluated only at compile time. The "if" is evaluated at run time. Basically, the #if construct allows you to control/change which code the compiler "sees".
Til brug ved debugging. Så afhængig af, om man udkommenterer // #define, -
eller sætter DEBUG til at være 0 i stedet for 1, kommer koden med ved
kompilering.
// Før setup():
#define DEBUG 1 // #define DEBUG 0 Switch debug mode on/off med 1 0 eller
udkommenter med //
// I setup:
#ifdef DEBUG
Serial.Begin(9600);
#endif
// I loop() kan fx følgende placeres:
#ifdef DEBUG
Serial.print("test ");
Serial.print(i);
#endif
//------------------------------------------
#define DEBUG 0
#ifdef DEBUG // I setup
Serial.begin(9600);
// Do stuf
#endif
//----------------------------------
Ω arduino tips & trix Version
14/10 2021
/ Valle Thorø Side 11 af 16
#define SCREEN ITDB32S
#ifdef SCREEN
if (SCREEN == ITDB50)
#define n 25
#define X 745
#define Y 457
else
#define n 10
#defineX 298
#defineY 226
#endif
Kan også udvides med #elif, #ifndef ( if not def )
Ps:
En #define må vist ikke være den første kodelinje :
Derfor kan man definere en dummy-var i den første linje
byte nonsense_var = 0; //this line solves everything!
Eller bare sætte et ; - ikke testet !!
Flere I/O-pins
Der skal vist ses på Pull Down-
modstande !!
Se Kilde her:
Herudover kan man koble ekstra IC-er til uC-en, som kan give flere input / Outputs.