ISP-Programmierung ermöglichen. Zum Arduino: Es ist verlockend, seine Programme als arduinospezifische .INO- Dateien zu schreiben. Das ist sicherlich gut, um schnell etwas anzutesten, was man so im Netz findet. Damit kann man auch gelegentlichen Frust bei eigenen Entwicklungen kompensieren ;-) Aber ich
im Beitrag #6985326: > Zum Arduino: > Es ist verlockend, seine Programme als arduinospezifische .INO- Dateien > zu schreiben. Das ist sicherlich gut, um schnell etwas anzutesten, was > man so im Netz findet. Damit kann man auch gelegentlichen Frust bei > eigenen Entwicklungen kompensieren ;-) >
überhaupt geht. Ich habe keine so wichtigen Daten auf dem Rechner, in diesem Fall war es eine Arduino *.ino-Datei. Ich hatte diese Startschwierigkeiten schon ein paarmal. Ich glaube es hängt mit einem Avira- oder Windows-System-Update zusammen. MfG Hans
wenn keiner zuhört..... [c] E:\Programme\arduino\portable\sketchbook\sketch_feb08b\sketch_feb08b.ino: In function 'void loop()': E:\Programme\arduino\portable\sketchbook\sketch_feb08b\sketch_feb08b.ino:19:5: warning: statement is a reference, not call, to function 'myprog' [-Waddress] 19 | myprog; | ^~~~~~ E:\Programme\arduino\portable\sketchbook\sketch_feb08b\sketch_feb08b.ino:19:5: warning: statement has no effect [-Wunused-value] [/c]
Workarounds probiert, die ich gefunden habe, nix hat geholfen. Auch scheint die Möglichkeit mit merhreren Ino-Dateien zu arbeiten bzw. mehreren Source- und Header-Dateien, anscheinend nicht wirklich vorgesehen ist. Früher hab ich mit Atmel-Studio gearbeitet. Hat auch gut funktioniert. Nur wollte ich jetzt
lcd.Backlight = True lcd.Write("System gestartet") End sub Das kompiliert die IDE in eine INO-Datei. Startet die Arduino-IDE die diese Datei dann Kompiliert und dann zum Arduino hoch läde. Der ganze Vorgang geht automatisch. ABER, man kann danach die INO-Datei ganz normal in der IDE als C Code
einigen Stunden lernen. ABER. Das Ergebnis ist das Ziel. ;) Wie genau beschrieben erzeugt B4X eine INO-Datei. Also kann er dann in den Code nachsehen wie die Sachen OHNE BASIC in C++ gemacht werden. Und da sehe ich ein klaren Vorteil als wenn man ihn ins kalte Wasser wirft. Davon abgesehen ist
int AUF1 = 23; // Einlesekanal Schranke Auf (BOM1) int ZU1 = 22; // Einlesekanal Schranke ZU (BOM1) int AUF2 = 3; // Einlesekanal Schranke Auf (BOM2) int ZU2 = 2; // Einlesekanal Schranke ZU (BOM2) int AUF3 = 25; // Einlesekanal Schranke Auf (BOM3) int ZU3 = 24; // Einlesekanal Schranke ZU (BOM3) int AUF4 = 21; // Einlesekanal Schranke Auf (BOM4) int ZU4 = 20; // Einlesekanal Schranke ZU (BOM4) int AUF5 = 27; // Einlesekanal Schranke Auf (BOM5) int ZU5 = 26; // Einlesekanal Schranke ZU (BOM5) int AUF6 = 29; // Einlesekanal Schranke Auf (BOM6) int ZU6 = 28; // Einlesekanal Schranke ZU (BOM6) int
//Festlegung der Variaablen bzw. I/O auf dem Board //-----Antriebe--------- int AUF1 = 23; // Einlesekanal Schranke Auf (BOM1) int ZU1 = 22; // Einlesekanal Schranke ZU (BOM1) int AUF2 = 3; // Einlesekanal Schranke Auf (BOM2) int ZU2 = 2; // Einlesekanal Schranke ZU (BOM2) int AUF3 = 25; // Einlesekanal Schranke Auf (BOM3) int ZU3 = 24; // Einlesekanal Schranke ZU (BOM3) int AUF4 = 21; // Einlesekanal Schranke Auf (BOM4) int ZU4 = 20; // Einlesekanal Schranke ZU (BOM4) int AUF5 = 27; // Einlesekanal Schranke Auf (BOM5) int ZU5 = 26; // Einlesekanal Schranke ZU (BOM5) int AUF6 = 29; // Einlesekanal
//Eingang für Strommessung an Pin A1 int strom; //Ausgang für Lüfter an D3 int lufterpwm; //Widerstand Shunt in mOhm int shunt = 1; //maximaler Strom in mA int Imax = 66000; int spannung_shunt_max = Imax*shunt; int spannung_shunt; int lufterdisplay; #include <U8g2lib.h> #include <Wire.h> U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE); void u8g2_prepare() { u8g2.setFont(u8g2_font_t0_11_tf); u8g2.setFontRefHeightExtendedText(); u8g2.setDrawColor(1); u8g2.setFontPosTop(); u8g2.setFontDirection(0); } void setup(void) { pinMode(3, OUTPUT); u8g2.begin(); Serial.begin(9600); u8g2_prepare
gerade > am PC War falsch. Ist in .../Documents/Arduino-Output Dort findest Du eine: APP.ino.with.bootloader.hex und APP.ino.hex APP.ino.elf APP.ino.eep
Frage oben: Ist der dir vorliegende und zu überarbeitende Quellcode ein Sketch? Also so mit Endung .ino und ohne main() und stattdessen mit setup() und loop()? Falls ja, dann berücksichtige bei deiner Portierung dass die Arduino-Bibliothek rund um setup() und loop() noch selbst ein bisschen Funktionalität
# define ROT 3 # define TASTER 2 volatile int tasterStatus = LOW; // aktuelles Signal vom Eingangspin volatile int tasterGedrueckt = 0; // abfragen ob Taster gedrückt war volatile int lichtmodus = 0; // festlegen der verschiedenen Lichtprogramme volatile int ledStatus = LOW; // aktueller Zusatnd der LED volatile int entprellZeit = 1000000; // Zeit für Entprellung, anpassen! unsigned long tasterZeit = 0; // Zeit beim drücken des Tasters unsigned long ledMillis = 0; // Zeit für den Blinkrythmus der LED volatile bool TasterStatus = LOW; void setup() { pinMode(ROT, OUTPUT); pinMode(LED_BUILTIN, OUTPUT
Entschieden, oder ist > noch alles offen? Der gezeigten Kompetenz folgend, vermute ich, dass er auf ino endet. Es handelt sich dabei nicht um die Suppenwuerze.
Entschieden, oder ist >> noch alles offen? > > Der gezeigten Kompetenz folgend, vermute ich, dass er auf ino endet. > Es handelt sich dabei nicht um die Suppenwuerze. Nenee, das geht weit über Ino hinaus!!! BG
: >> Es ist in Arduino c geschrieben. > > Ja. Nein. Es gibt kein Arduino C. Nur weil hinten ino dransteht ist nicht ein besonderes C sondern "nur" Gnu-C.
jo mei schrieb im Beitrag #6938989: > Nein. Es gibt kein Arduino C. Nur weil hinten ino dransteht ist > nicht ein besonderes C sondern "nur" Gnu-C. Arduino C ist C/C++ unter Verwendung der Arduino Library Umgebung, genau so wie Posix C ein Programm in C unter Verwendung der Posix Libraryfunktionen
/******************************************************************* * Drehencoder aus dem DDS-Projekt in Assembler auf c übersetzt * vorzugsweise für Anwendung in Arduino Jan 2022 R. Drabek * Basis jedenfalls von peda und Hannes Lux * Mit Timer2 Interrupt ca. 1 ms. Timer0 funktioniert nicht, * wenn man die millis() Funktion von Arduino benutzt * Encoder an PortD in Arduino fragt, wichtig, "gleichzeitig" * beide Phasen des Encoders ab. * Die LUT kann ggfs an den verwendeten Encoder angepasst werden, * bzw auch gespiegelt werden wen li, re vertauscht ist * Mit Arduino ist keine spezielle library
/* PULS-PAUSE-Timer per WDT vom ATtiny25/45/85 Beim Programmstart werden die beiden Ausgaenge POS_AUSGANG und NEG_AUSGANG für die Zeit PULS aktiviert. Hier sind es 10 Minuten. Danach werden ca. 60 Tage angewartet, bis neue aktive Impuls ausgegeben wrden. Die Genauigkeit des Timimgs liegt bei ca. 1-2 %. Die Stromaufnahme betraegt etwa 7 µA @ 5 V. Michael Nowak www.mino-elektronik.de 2022-01-09 */ #define nKURZZEITTEST #include <avr/io.h> #include <avr/interrupt.h> #include <avr/sleep.h> #define BIT(x) (1<<x) #define PRO_STUNDE 860UL // Aufrufe des WDT pro Stunde bei 4 s #define PRO_TAG (PRO_STUNDE
/* PULS-PAUSE-Timer per WDT vom ATtiny25/45/85 Es wird ein '0'-Ausgangssignal an PB3 erzeugt, welches für 10 Minuten aktiv bleibt. Danach werden ca. 60 Tage angewartet, bis ein neuer Impuls ausgegeben wird. Die Genauigkeit des Timimgs liegt bei ca. 1-2 %. Die Stromaufnahme beträgt etwa 7 µA @ 5 V. Michael Nowak www.mino-elektronik.de 2022-01-08 */ #include <avr/io.h> #include <avr/interrupt.h> #include <avr/sleep.h> #define BIT(x) (1<<x) #define PRO_STUNDE 860UL // Aufrufe des WDT pro Stunde bei 4 s #define PRO_TAG (PRO_STUNDE*24) #define ANZAHL_TAGE 60 #define OUT1_PIN BIT(3) // PB3 #define PULS (PRO_STUNDE
/* HelloWorld.ino Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/) Copyright (c) 2016, olikraus@gmail.com All rights reserved. Redistribution and use in source and binary forms, with or without modification
m.n. schrieb im Beitrag #6936436: > Es wurde nach einer Arduino-Datei gefragt, also habe ich sie .ino getauft. Na wenn schon .ino, sollte sie auch fehlerfrei compilieren - tut sie nicht. (WDTCR ist nicht deklariert).
Beitrag #6936466: > m.n. schrieb: >> Es wurde nach einer Arduino-Datei gefragt, also habe ich sie .ino getauft. > > Na wenn schon .ino, sollte sie auch fehlerfrei compilieren - tut sie > nicht. > (WDTCR ist nicht deklariert). Kompiliert bei mir problemlos für einen Tiny85
sofort. https://github.com/m5stack/M5-ProductExampleCodes/blob/master/Unit/ULTRA/Arduino/ULTRA/ULTRA.ino Etwas Unsinnig ist hier, den Messwert in Millimetern als float-Wert umzuwandeln. Bei dem Teil brauche ich keine 123,45mm als Ergebnis. Daher habe ich in meiner Variante das Ergebnis als ganze Millimeter
Mein 1,54" läuft damit: https://github.com/ZinggJM/GxEPD In der Beispieldatei GxEPD_Example.ino muss #include <GxGDEP015OC1/GxGDEP015OC1.h> // 1.54" b/w selektiert sein. Vieleich hilft es ja, eventuell kannst Du das auch auf das 1,54" Display abspecken. Zur Zeit unterstützt die Library
wenigstens eine Fehlermeldung ausgeben kann, wenn das Display nicht reagiert, z.B. so in epd1in54b-demo.ino: void setup() { Serial.begin(115200); Epd epd; if (epd.Init() != 0) { Serial.print("e-Paper init failed"); return;
EAF schrieb im Beitrag #6922479: > KlappenAutomat.ino Ich find interessant, wie du die Zustandswechsel implementiert hast. Verblüffend simpel - why not? Allerdings würde ich empfehlen, den Zuständen sprechende Namen zu geben. Das müsste man dann
Stefan ⛄ F. schrieb im Beitrag #6922580: > EAF schrieb im Beitrag #6922479: >> KlappenAutomat.ino > > Ich find interessant, wie du die Zustandswechsel implementiert hast. > Verblüffend simpel - why not? Wie willst du das denn bitte sonst machen? Ein Switch und da die Funktionen rein und
auch bemerkt und meldet. [c] E:\Programme\arduino\portable\sketchbook\sketch_dec14b\sketch_dec14b.ino:4:27: warning: type of 'test' does not match original declaration [-Wlto-type-mismatch] 4 | extern const unsigned int test; | ^ E:\Programme\arduino\portable\sketchbook
Ge62O-MRfvAY0WuHhtEhimQ7K_S23VLCTFRop1_Tm10 (gesichert als https://static.mah.priv.at/public/Bosch_akku_wach_halten.ino). Wenn man den CAN-Bus kurzschliesst, läuft der Bohrschrauber nicht an. Vielleicht weiss jemand, wie man via CAN den Batteriezustand (Ladezustand, Temperatur etc) auslesen kann? Ich bin primär
//connect bluetooth RX to Pin 11 and TX to Pin 10 //#define Version2x #define Version3 #include <SoftwareSerial.h> SoftwareSerial mySerial(10, 11); String input; char output[20]; int l=20; void setup() { Serial.begin(9600); Serial.println("Los geht's"); mySerial.begin(9600); //38400 für hc-05 } void loop() { // run over and over for (int i=1; i<=12; i++){ switch (i){ case 1: mySerial.begin(1200); break; case 2: mySerial.begin(2400); break; case 3: mySerial.begin(4800); break; case 4: mySerial.begin(9600); break; case 5: mySerial.begin(19200); break; case 6: mySerial.begin(38400); break; case 7
#include <esp_now.h> #include <WiFi.h> #include <esp_wifi.h> // REPLACE WITH THE MAC Address of your receiver uint8_t broadcastAddress[] = {0x3C,0x61,0x05,0x32,0x22,0x4C}; //anzupassen!!! uint8_t newMACAddress[] = {0x3C,0x61,0x05,0x30,0x9C,0xD4}; //anzupassen!!! // Variable to store if sending data was successful String success; //Structure example to send data //Must match the receiver structure typedef struct struct_message { uint16_t mstrg1 =1; uint16_t mstrg2 =2; uint16_t mstrg3 =3; uint16_t mstrg4 =4; uint16_t mstrg5 =5; uint16_t mstrg6 =6; //Ersten 5 Bit Geschwindigkeit 6. Weiche, 7.Anforderung
#include <esp_now.h> #include <WiFi.h> #include <esp_wifi.h> // REPLACE WITH THE MAC Address of your receiver uint8_t broadcastAddress[] = {0x3C,0x61,0x05,0x30,0x9C,0xD4}; //anzupassen!!! uint8_t newMACAddress[] = {0x3C,0x61,0x05,0x32,0x22,0x4C}; //anzupassen!!! // Variable to store if sending data was successful String success; //Structure example to send data //Must match the receiver structure typedef struct struct_message { uint16_t mstrg1 =10; uint16_t mstrg2 =20; uint16_t mstrg3 =30; uint16_t mstrg4 =40; uint16_t mstrg5 =50; uint16_t mstrg6 =60; //Ersten 5 Bit Geschwindigkeit 6. Weiche,
keine extensiven Funktionsaufrufe beinhalten (besonders solche, deren Quellcode man nicht kennt). Ino S. hat in seiner TMR0_ISR() viele sprintf, strcopy, LCDprintf sowie MCP794XX...-Aufrufe. Das ist mit ziemlicher Sicherheit vom Zeitmanagement her problematisch. Die Abarbeitung all dieser Dinge
/* Send data throuhg a NeoPixel stripe at the end of the neopix stript you can connect the Arduino Nano as a receiver for the data string. 21.11.2021 chris_ */ #include <Adafruit_NeoPixel.h> #ifdef __AVR__ #include <avr/power.h> #endif #define PIN 6 #define NUMPIXELS 12 // NUMPIXEL increase by 1 because last pixel is the data transmission message Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS + 1, PIN, NEO_GRB + NEO_KHZ800); void setup() { pixels.begin(); } char Message[]="c-hater ist der Beste ! \n"; void sendBit(uint8_t bitValue) { const uint8_t dataPos = NUMPIXELS; uint32_t data; boolean
Noch ein Nachtrag. Du wolltest ja ursprünglich zum Testen eine ganz einfache blink.ino.elf ohne jeden Bootloader einprogrammieren. Das ist ein guter Ansatz. Dann hättest du aber die BOOTRST fuse löschen sollen, die ja dazu führt dass beim reset der Bootloader (an der Adresse BOOTSZ) aufgerufen
> > https://github.com/SensorsIot/ESP32-Revision-level/blob/master/ESP32_Version/ESP32_Version.ino > > Gruß Das Skript funktioniert nicht mehr mit neueren Arduino Versionen, hier ist ein Update: https://gist.github.com/Scavanger/2286fe52ea437efcf78f9dc4798931e2 Meiner ist im übrigen Revision
Standard-Beispiel ausgeführt (https://github.com/Makuna/DFMiniMp3/blob/master/examples/PlayMp3/PlayMp3.ino). Alle Operationen, bei denen Daten an den Player geschickt werden, funktionieren einwandfrei. Wenn aber Daten vom Chip abgefragt werden (getVolume(), getTotalTrackCount(), ...) hängt das Programm