Zum Übertragen von AVR C-Programmen in eine Arduino-IDE reicht es aus, die .c-Datei in .ino umzubenennen und ggf. die notwendigen .h-Dateien hinzuzufügen. Das wird anstandslos verarbeitet. Nun habe ich fertige Projekte, die zum Beispiel in einer Segger-IDE laufen, die ich als Arduino Projekt
Gibt es bei der Arduino-IDE vielleicht irgendeine Möglichkeit, für einzelne .ino-Dateien die #include-Dateien abzuschalten?
/* Test Program to evaluate T1 Capture performance Input configured for falling edge detection Application Requirement Range is 1ms-10s T1 clocked at 16MHz Capture input (coupled with 4n7 and 1K Pullup) Input using D8 (PB0) pin Calibrated TTL Test Generator with 0.1Hz-100kHz Output range 24-01-31 V1.08D History: 24-01-30 V1.08D Added Auto Ranging of sigificant digits Added "GATE" LED Borrowed Code: ------------------------------------------------------------------------------------ Michael Novak suggested to use his Capture Method used in his frequency measureing boards Clara-Zetkin-Straße 6, D -
/* Test Program to evaluate T1 Capture performance Input configured for falling edge detection Application Requirement Range is 1ms-10s T1 clocked at 16MHz Capture input (coupled with 4n7 and 1K Pullup) Input using D8 (PB0) pin Calibrated TTL Test Generator with 0.1Hz-100kHz Output range 24-01-30 V1.08 C Borrowed Code: ------------------------------------------------------------------------------------ Michael suggested to use his Capture Method used in his frequency measureing boards imported from: (FMETER_LED328.c) https://www.mikrocontroller.net/topic/563902#7591430 Am Capture-Wert (ICR1) kann
/* Test Program to evaluate T1 Capture performance Input configured for falling edge detection Application Requirement Range is 1ms-10s T1 clocked at 16MHz Capture input (coupled with 4n7 and 1K Pullup) Input using D8 (PB0) pin Calibrated TTL Test Generator with 0.1Hz-100kHz Output range 24-01-29 V1.08 Borrowed Code: ------------------------------------------------------------------------------------ Michael suggested to use his Capture Method used in his frequency measureing boards imported from: (FMETER_LED328.c) https://www.mikrocontroller.net/topic/563902#7591430 Am Capture-Wert (ICR1) kann man
// Test Program to evaluate T1 Capture performance // Input configured for falling edge detection // Application Requirement Range is 1ms-10s // T1 clocked at 16MHz // Capture input (coupled with 4n7 and 1K Pullup) // Input using D8 (PB ) pin // Calibrated TTL Test Generator with // 0.1Hz-100kHz Output range // // 24-01-24 V1.02 const unsigned long period = 1000; // RESULTS INTERVALL const unsigned long period2 = 25; // ADC READ RATE unsigned long startMillis; unsigned long startMillis2; unsigned long currentMillis; #define ICP_INPUT 8 void setup() { pinMode(ICP_INPUT, INPUT_PULLUP); startMillis
// Test DCC-Decoder #include "DCC_Decoder.h" // DCC-Decoder: byte Speed = 0; byte dccRichtung = 0; byte dccCount = 0; // DCC-Adresse: byte dccAdresse = 0; // DCC-Decoder #define kDCC_INTERRUPT 0 typedef struct { int count; byte validBytes; byte data[6]; } DCCPacket; // The DCC-Decoder object and global data int gPacketCount = 0; int gIdlePacketCount = 0; int gLongestPreamble = 0; DCCPacket gPackets[25]; // ALL packets are sent to the RawPacket handler. // Returning true indicates that packet was handled. // DCC library starts watching for next preamble. // Returning false and library continue parsing
bzw. Codeabschnitte in ein Tab auslagern kann funktioniert nur mit der Arduino IDE. Sie fügt alle .ino Dateien alphabetisch zu einer .ino zusammen. Erst danach erfolgt die gesamte Prozedure der Kompilierung. Deswegen muss man bei der Benennung der Tabs ggf. aufpassen, sonst passt die Reihenfolge des
außerhalb der Arduinowelt macht. Hat aber nichts mit dem Tabs der Arduino IDE zu tun, diese kann nur .ino Dateien in ihren Tabs anzeigen. Außerhalb der Arduinowelt muss man sich umstellen und paar Gewohnheiten ablegen und dafür paar Annehmlichkeiten richtiger IDEs nutzen. Bspw. kann selbst die Arduino
sondern als Dateianhang [/pre] Mein Vorschlag: häng den Code an den nächsten Post einfach als ino Datei an und ich lösche den oben raus. Kai W. schrieb im Beitrag #7571252: > Trotzdem habe ich den Verdacht, dass beim Takt/Teiler etc. ggf. etaws > nicht stimmt. Passt die clkdiv8 Fuse?
eure zahlreichen Antworten! Der Reihe nach: Da ich nicht weiß, wie ich mit dem Microchip Studio ino-Dateien erzeuge, habe ich mal die main.c angehängt. Sorry, ich dachte, dass mein MiniProg nicht in die Kategorie "lang" fällt. Bzgl. des "clkdiv8 Fuse": Ich habe im ersten Post ein Bild der Fuses
// the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(D7, OUTPUT); // oder : pinMode(LED_BUILTIN, OUTPUT); oder : pinMode(2, OUTPUT); pinMode(D6, INPUT); pinMode(LED_BUILTIN, OUTPUT); digitalWrite(D7, LOW); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // Lampe aus while(digitalRead(D6) == LOW) yield; digitalWrite(LED_BUILTIN, LOW); for (int i=0; i<8; i++) { digitalWrite(D7, HIGH); delay(20); digitalWrite(D7, LOW); delay(20); } delay(500); }
unsigned long startTime; unsigned long endTime; void setup() { // put your setup code here, to run once: pinMode(10, INPUT); Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: while(digitalRead(12) == LOW); startTime = millis(); while(digitalRead(12) == HIGH); endTime = millis() - startTime; Serial.print("I received impuls with length in ms : "); Serial.println(endTime, DEC); }
einfüge und hochlade verabschiedet sich der Arduino.. Iwas ist da falsch.. Die original Inputs.ino: #define HAT_CENTER 8 #define HAT_N 0 #define HAT_NE 1 #define HAT_E 2 #define HAT_SE 3 #define HAT_S 4 #define HAT_SW 5 #define HAT_W 6 #define HAT_NW 7 #define PIN_RESERVED 3 Encoder
Andreas H. schrieb im Beitrag #7572004: > Die original Inputs.ino Was ist daran so schwer, diese simple immer präsente Regel zu beachten? In den letzten Tagen häufen sich solche Fälle. Sind die Menschen blind, blöd oder rücksichtslos ignorant geworden?
ausprobiert | ebenfalls "Enable" on und off | Baudrate geändert auf 9600, aber die Änderung steht in der .ino-Datei im Modul 040 vom ESPEasy und wird eigentlich automatisch gesetzt | ... Stunden meines Lebens sind vergangen, alle Varianten sind durch! - Ach ja, die RX-Pins habe ich auch als Digitaleingang
// THIS FILE IS A DEMO FOR IKEA OBERGRANSÄD KIT // AS INTERNET CLOCK // (C)2023 DR. ARMIN ZINK // parts inspired by // By /u/frumperino // goodwires.org // Use of 100 Hz refresh rate // Use of interrupt for button handling // Use PWM of P_EN for propper brightness control // By Stefan Mahrhold #include <Arduino.h> #include <pgmspace.h> #include <ESP8266WiFi.h> #define STASSID "JSHomeWLAN" #define STAPSK "LiET91z5JUw_pciF1vVt" #define P_EN D5 // ORANGE #define P_DI D6 // YELLO #define P_CLK D7 // BLUE #define P_CLA D8 // LILA #define P_KEY D4 // ROT // SET YOUR TIMEZONE HERE #define MY_NTP_SERVER
/* this code is an aternative software for Bosch vaccuumcleaner, tested and working on the BCH6L2560 & BBH7360K model. Other Bosch models may work, but YOU must chek first if your hardware is supported ! We take no responsability at all for this code, use it on your own risk. Here you find basic schematics (uncomplete) and fotos…. https://www.mikrocontroller.net/topic/513088 Many thaks to Daniel F.(per48or) for programming with me Lena S.(lena_s) this piece of code to awaken this vaccuumclears again. */ // SET your Board to MiniCore ATmega328PB @ 8Mhz Internal, BOD=2.7V, no Bootloader #include <Arduino.h
www.mikrocontroller.net/topic/562335#new Daß es gute und günstige IPS-TFTs gibt, ist verlinkt. Die .ino-Datei ist nur zur Demonstration. Am besten packt man das Anwendungsprogramm auch mit ins QSPI-FLASH. Für die TFT-Ansteuerung könnte man den 2. Kern aktivieren, was ich auch schon in einer Anwendung
/* PicoTerm-demo zur Ansteuerung der PicoTerm-TFT Anzeige mit Text und Grafik zur Verwendung auf Arduino uno oder anderer Hardware mit ATmega328. Reines C-Programm ohne spezifische Befehle der Arduino-IDE Das Programm gliedert sich in folgende Bereiche: 1. Parametervorgabe/Init für ATmega mit UART und Timer 2. Definitionen fuer Farbe/Text/Grafik des TFT 3. Initialisierung des ATmega328 4. Basisroutinen zur TFT-Ansteuerung 5. Routinen zur Anzeige von Text und Demo-Tastatur 6. Demoprogramm unter Verwendung der vorhandenen Funktionen Michael Nowak www.mino-elektronik.de info@mino-elektronik.de 2023
, wie man das PicoTerm-TFT praktisch verwenden kann, gibt es im Anhang das Programm "PicoTerm-demo.ino", welches für einen ATmega328 geschrieben wurde. Es ist ein reines C-Programm, verwendet keine Arduino-IDE spezifischen Befehle und kann für 'gewöhnliche' Programmierung einfach in .c umbenannt werden
#include <Adafruit_NeoPixel.h> #ifdef __AVR__ #include <avr/power.h> #endif // Which pin on the Arduino is connected to the NeoPixels? const uint8_t PIN = 6; // make sure to set this to the correct PixelPin, ignored for Esp8266 // How many NeoPixels are attached to the Arduino? const uint16_t NUMPIXELS = 300; // When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals. // Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest // example for more information on possible values. Adafruit_NeoPixel pixels = Adafruit_NeoPixel
Interrupt sowie SPI, Timer und Analog-IO kommen aus eigenen Modulen - es braucht nur avr-gcc - nix *.ino. Nur für die reinen Anwender, speziell die Windows-Nutzer, die sich mit Kommandozeile und "make" schwertun, gibt es im Branch "arduino_toolchain" das ganze auch "maker-gerecht" als „Sketch“ - wir
Ja genau, ich weiß mittlerweile dass eine .ino und eine .hex Datei ein völlig anderes Fundament haben und wie eine Excel und eine Word Datei völlig andere Sprachen verwenden.
Nico schrieb im Beitrag #7549072: > Ja genau, ich weiß mittlerweile dass eine .ino und eine .hex Datei ein > völlig anderes Fundament haben und wie eine Excel und eine Word Datei > völlig andere Sprachen verwenden. Der Vergleich hinkt. ino versus hex ist eher wie Backrezept
void setup() { pinMode(7, OUTPUT); //Pin an dem der Servo angeschlossen ist } void loop() { for (byte i = 0; i < 180; i += 10) { //So reagiert der Servo auch noch nach 350ms... //Man muss ihn erst mit zwei Signalen wecken for (byte k = 0; k < 3; k++) { digitalWrite(7, HIGH); pause_servo(i); //Delay in Abhängigkeit des gewählten Winkels digitalWrite(7, LOW); delay(20); } delay_millis(500); } for (byte i = 180; i > 10; i -= 10) { for (byte k = 0; k < 3; k++) { digitalWrite(7, HIGH); pause_servo(i); //Delay in Abhängigkeit des gewählten Winkels digitalWrite(7, LOW); } delay_millis(350); //350ms delay
#include <RadioLib.h> #include <AceCRC.h> using namespace ace_crc::crc16ccitt_nibble; #define RF_PACKET_SIZE 16 // RF69 ESP8266 connections: // CS/NSS pin: D8 // DIO0 pin: D1 // RESET pin: D3 // SCK D5 // MOSI D7 // MISO D6 RF69 radio1 = new Module(D8, D1, D3); volatile bool receivedFlag = false; // we make a structure for all settings (in the full project we set this with MQTT-topic and JSON-stream from Host-Web-Server) struct setvals { int ontime =300; // holdtime for each relais (millisecs), its possible for a defined pulstime on the external gate control (you can change to longer) String sync
Tutorial/Sweep * https://github.com/esp8266/Arduino/blob/master/libraries/Servo/examples/Sweep/Sweep.ino und dann passe die Werte noch auf dein Servo an. z.B.: myservo.attach(D5,500,2400); dann funktioniert selbst ein SG92 Positionsgenau und immer. Wenn nicht... Tonne.
Andreas S. schrieb im Beitrag #7545027: > Angehängte Dateien: Servo_Forum.ino pause_servo() hat alle 70 Minuten eine Chance auf eine Endlosschleife. delay_millis() nur alle 50 Tage ... LG, Sebastian
void setup() { pinMode(7, OUTPUT); //Pin an dem der Servo angeschlossen ist } void loop() { for (byte i = 0; i < 180; i += 10) { //Bei dieser Drehung reagiert der Servo, Micro servo 9g SG90, nur ab und zu //Mit 350ms funzt er digitalWrite(7, HIGH); pause_servo(i); //Delay in Abhängigkeit des gewählten Winkels digitalWrite(7, LOW); delay_millis(500); //500ms delay, NICHT mit delay(), geht aber mit delay() auch nicht! } //Bei dieser Drehung reagiert der Servo wie erwartet //Mit 500ms funzt er nur ab und zu for (byte i = 180; i > 10; i -= 10) { digitalWrite(7, HIGH); pause_servo(i); //Delay in Abhängigkeit
from D:\Micros\ESP8266_Projekte\MQTT\LED_Controller64_MQTT_OTA\LED_Controller64_MQTT_OTA.ino:8: D:\Micros\Arduino_Projekte\libraries\ESP8266Scheduler\src/Task.h: In member function 'void Task::yield()': D:\Micros\Arduino_Projekte\libraries\ESP8266Scheduler\src/Task.h:32:9: error: 'cont_yield
kompiliert und aufgespielt. Es blinkt auch wie gewünscht. Dann ein Wifi-Beispiel genommen, Wificlient.ino Auf der seriellen sehe ich das es sich ins WLAN einklinkt und auch Daten runterlädt. Geht also auch. Und das HelloServer.ino geht auch. Dann wieder Tasmota geflasht, ging leider nicht. Allerdings
sicherzustellen, dass es grundsätzlich funktioniert, habe ich mal einfach das Beispiel "WiFiAccessPoint.ino" aus der Wifi Arduino Bibliothek kompiliert, siehe https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiAccessPoint/WiFiAccessPoint.ino Auch da das selbe Problem:
sicherzustellen, dass es grundsätzlich funktioniert, habe ich mal > einfach das Beispiel "WiFiAccessPoint.ino" aus der Wifi Arduino > Bibliothek kompiliert, siehe > https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiAccessPoint/WiFiAccessPoint.ino Ich sehe in dem Beispiel
()«: GetStarted.ino:36:6: Fehler: Redefinition von »void setup()« sketch_nov20a.ino:12:6: Anmerkung: »void setup()« previously defined here GetStarted.ino:30:18: Fehler: »Serial1« wurde in diesem Gültigkeitsbereich nicht definiert GetStarted.ino:41:3: Anmerkung: bei Substitution des Makros »FPSerial« GetStarted.ino: In Funktion »void loop()«: GetStarted.ino:64:6: Fehler: Redefinition von »void loop()« sketch_nov20a.ino:33:6: Anmerkung: »
MC23017-Board aus ? krieg das Blink-Beispiel Nicht zum Funktionieren : es ist das mcp23xxx_blink.ino im Ordner Adafruit-MCP23017-Library-master/examples/mcp23xxx_blink Weiß nicht, ob ich die ino-Datei von Adafruit hier anhängen darf wg Copyright !? d.h. es gibt keine Fehlermeldung von der IDE
Und den anim Kram rauslöschen, der ist nur zur Simulation. Den Code aber besser als Anhang als .ino oder .cpp posten.
den anim Kram rauslöschen, der ist nur zur Simulation. > > Den Code aber besser als Anhang als .ino oder .cpp posten. Und vor allem nicht in diesem Unterforum. Das hat hier schlicht nix zu suchen.
/* WiFi Web Server LED Blink A simple web server that lets you blink an LED via the web. This sketch will print the IP address of your WiFi Shield (once connected) to the Serial monitor. From there, you can open that address in a web browser to turn on and off the LED on pin 5. If the IP address of your shield is yourAddress: http://yourAddress/H turns the LED on http://yourAddress/L turns it off This example is written for a network using WPA2 encryption. For insecure WEP or WPA, change the Wifi.begin() call and use Wifi.setMinSecurity() accordingly. Circuit: * WiFi shield attached * LED attached