-
Thread
Fehler beim "Serializing" von Temperaturdaten
Meine Sensoren publishen ihre Daten folgendermaßen: [c] char topicc[40]={0}; ... strcat(topicc, temp_topic); client.publish(topicc, String(temp).c_str(), true); [/c] Du könntest auch den MQTT Explorer verwenden, um zu schauen, in welchem
(also "String-Format") schickst du nicht und bekommst du also auch nicht. LG, Sebastian
-
Thread
Ich messe 100mA für ein digital Pin auf dem Arduino Nano bei digitalWrite HIGH?
ich probier das einfach mal aus. Wegen des Multimeters mit 10s Zykluszeit. Dazu das Programm: [c] uint32_t d =0; void setup() { Serial.begin(9600); pinMode(6, OUTPUT); } void loop() { Serial.println("Durchlauf "+ String(++d)); digitalWrite(6, HIGH); delay(5000)
Ich übersetze es dir: Selbst einen einzigen Pin darf man nicht mit 100mA belasten, wenn man den µC erhalten mochte.
-
Thread
Shelly 3EM pro. Leistung über http beziehen.
0.0,"a_pf":1.00,"b_current":0.027,"b_voltage":0.1,"b_act_power":0.0,"b_aprt_power":0.0,"b_pf":1.00,"c_current":0.028,"c_voltage":237.5,"c_act_power":0.1,"c_aprt_power":6.7,"c_pf":1.00,"n_current":null,"total_current":0.085,"total_act_power":0.084,"total_aprt_power":6.679} Mit skript: anfrage: http
Ich möchte aber innerhalb eines Python-Scripts auf die einzelnen Werte > zugreifen Den JSON String muss man halt parsen. Hat mit Shelly wenig zu tun. Eher so die ganz grundlegenden Basics der SW Entwicklung.
-
Thread
Ruby: merkwürdiges Verhalten – ist das normal?
Ich benutze Ruby 3.2.2 Folgende Codesequenz: [c] cmd = clss = '' # Die variablen sollen auf leeren String gesetzt werden cmd << 'checked ' p clss [/c] Als Ausgabe würde ich "" erwarten – dem ist aber nicht so: Das Ergebnis ist "checked " Ändert man sie Sequenz in [c] cmd = clss = '' # Die variablen sollen auf leeren String gesetzt werden cmd = 'checked ' p clss [/c] kommt das erwartete Ergebnis "". Frage: ist das ein Bug, oder ein Feature? Nachtrag
-
Thread
Maximal 50 Ordner in einer Bibliothek möglich (W10)
Carypt C. schrieb im Beitrag #7586093: > Aber das kann man sich ja gar nicht vorstellen, daß Windows selbst mit > nur 50 Ordnern auskommt, wenn ich jetzt (Win7) auf C: direkt den > Windows-ordner öffnen sind
#7588561: > Ich kenne mindestens einen "Informatiker", der simple Hexzahlen > fester Laenge als String in einer Datenbank verewigt hat. Medieninformatiker?
-
Thread
LPC11Cxx "verfused" - ist der noch zu retten?
debugen nicht funktioniert, ist eh keine Überraschung). Ausgabe vom JLink sieht immer so aus (der µC macht dabei auch einen Reset - also JLink kann den µC erfolgreich resetten): [code] Connecting to target via SWD Found SW-DP with ID 0x0BB11477 Failed to power up DAP Connect fallback: Reset via
oder Antwort siehe Anhang) dann hätte ich gewonnen ... aber ich hab keinen Plan ob das bei meinem µC (LPC11C14) möglich ist und ob bzw. wie das mit JLink funktioniert.
-
Thread
Attiny85 ADC Eingangswiderstand - wie hoch
die Codezeilen aus den unteren Tests hinein // : Serial.println("Spannungsteiler: " + String(an0) + " - Poti: " + String(an4)); } [/c] **Test 1:** es wird nur der Spannungsteiler (ohne C2) an A0 gewandelt. [c] : // an4 = analogRead(A4); // Poti an0 = analogRead(A0); // Spannungsteiler
Spannungsteiler einlesen if (!i--) { i = 4600; Serial.println("Spannungsteiler: " + String(an0) + " - Poti: " + String(an4)); } } [/c] > Kann der Spannungsteiler den 10nF schneller nachladen als der Sample-C > ihn entlädt? Nein, das klappt nicht, das ist das Ergebnis: [pre]
-
Thread
Atmega324 UART: Senden vom PC zum µC klappt nicht
UBRR_VAL & 0xFF; UCSR0B = (1<<RXCIE0)|(1<<RXEN0)|(1<<TXEN0); //8data 2stop bit UCSR0C = (1<<USBS0)|(3<<UCSZ00); } [/c] Interrupt [c] volatile uint8_t uart_string_complete = 0; volatile uint8_t uart_string_count = 0; volatile char uart_string[UART_MAX_STRING_LENGTH + 1] = "";
= 1; } if(finishString == 1) { uart_string[uart_string_count] = '\0'; uart_string_count = 0; uart_string_complete = 1; } } } [/c] Selbst wenn ich bei jedem Interrupt uart_string_complete
-
Thread
ESP32 Watchdog Problem
operator()() const at /Users/klkl/.platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/8.4.0/bits/std_function.h:687 #11 0x400ed31d:0x3ffcca40 in FunctionRequestHandler::handle(WebServer&, http_method, String) at /Users/klkl/.platformio/packages/framework-arduinoespressif32/libraries
Liegt am Sourcecode main.c Zeile 183.
-
Thread
C# Programm um ein PostScript Datei in PDF umzuwandeln
{ static void Main() { // Pfade für die PostScript- und PDF-Dateien string postScriptFilePath = "C:\\PMT Projekt\\SmartQC\\dwsample1-ps.ps"; string pdfFilePath = "C:\\PMT Projekt\\SmartQC\\Ergebnis.pdf"; // Umwandlung von PostScript zu PDF ConvertPostScriptToPDF
postScriptFilePath} zu {pdfFilePath} wurde abgeschlossen."); } static void ConvertPostScriptToPDF(string postScriptFilePath, string pdfFilePath) { try { // Einstellungen für Ghostscript GhostscriptVersionInfo gvi = new GhostscriptVersionInfo("C:\\Program
-
Thread
Meeting-Hölle/Scrum
Rudi R. schrieb im Beitrag #7582106: > aber C++ habe ich aus eigenem Antrieb erlernt. wann hast du denn studiert? C++ wurde bei uns schon 1993 gelehrt.
abschätzen. Als C++ eingeführt eingeführt wurde, war ich noch nicht mal geboren.
-
Thread
HTML mit charset=iso-8859-1
schrieb im Beitrag #7577191: > Aus > Mikrocontrollern kommt aber freiwillig kein utf-8, Auch bei String-Literalen ist das schon lange kein Problem mehr: [c]const char* myText = u8"bla öäüß° 貓🐈µ";[/c] Wenn du dann myText ausgibst ist es ganz normales UTF-8. Der C-Sourcecode sollte UTF-8 kodiert sein
Harald K. schrieb im Beitrag #7577749: > Schon mal strlen auf > einen utf-8-String losgelassen und die Länge eines Textes z.B. für die > Cursorpositionierung auf einem Terminal verwendet? Dafür gibt es Libraries. Moderne Sprachen wie Java haben das integriert, bei C und C++ muss
-
Thread
VL53L5CX am Wemos D1 (Arduino IDE): Exception bei Init :-(
allerdings ändert das nix am Grundproblem. Aber das hier klappt erstmal: [code] VL53L5CX_i2c->writeSingleByte(0x7fff, 0x00); deviceId = VL53L5CX_i2c->readSingleByte(0x00); revisionId = VL53L5CX_i2c->readSingleByte(0x01); VL53L5CX_i2c->writeSingleByte(0x7fff, 0x02); Serial.println("addrs "+String(address)); Serial.println("devID "+String(deviceId)); Serial.println("revID "+String(revisionId)); [/code] erst bei "result = vl53l5cx_init(Dev);" knackt es. Oszi habe ich, allerdings
-
Thread
AVR eigene #defines für Interruptvektoren
#pragma message ("dbgRXC_VECT = " STRING(dbgRXC_VECT)) ISR(dbgRXC_VECT){ return; } [/c] Wenn ich das kompiliere kommt der folgende Fehler: source/test.c:13:29: Fehler: das Einfügen von »)« und »_RXC_vect« ergibt kein gültiges
-DF_CPU=1000000UL -MMD -MP -MF"main.d" -MT"main.o" -c -o "main.o" "../main.c" ../main.c:31:9: note: '#pragma message: dbgRXC_VECT = __vector_19' 31 | #pragma message ("dbgRXC_VECT = " STRING(dbgRXC_VECT)) | ^~~~~~~ Finished building
-
Thread
Unsauberes S0-Signal von Drehstromzähler an Wärmepumpe (ESP8266)
Das Problem ist jedenfalls Zeig doch mal in einem Schaltplan, wie du diese S0 Schnitte am deinen uC angeschlossen hast.
der drehzahlgeregelte Lüfter noch langsam mitläuft (weil sie versucht mit einer Lufttemperatur >4°C mitzuhelfen) und gegen Ende nur mehr der Heizstab aktiv ist - es scheint also dass der drehzahlgeregelte Lüfter eine Rolle spielt, was eigentlich auch zu den Erwartungen passen würde
-
Thread
Mac: SSH-Session per Terminal mit einer CLI-Eingabe?
Achtung: permissions 600 verwenden, d.h. besten das Kommando `umask 077` eingeben bevor du anfängst !) [c] umask 077 mkdir -p ~/.ssh echo >~/.ssh/authorized_keys "deinPublicKeyAlsOneLineString" [/c] 2. den interactive Password Login deaktivieren nachdem du getestet hast, dass der public key login
ausführen: [c] ssh pi1 # interaktive Shell ssh pi1 ls -l # listed files auf scp localfile pi1:~/remotedir # kopiert Datei auf remote pi1 [/c] Michael
-
Thread
STM32 - UART Ausgabe - Wie richtig?
********************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2023 STMicroelectronics. * All rights
Habe für den auszugebenden String eine feste Größe von 5 Zeichen zugeordnet. Vor jeder Ausgabe leere ich den String. Nun scheint es zu funktionieren. https://streamable.com/so96wr
-
Thread
Guacamole + xrdp => keine Verbindung
user-mapping.xlr) nicht so einfach nach außen mountbar ist, man muss das mit einer Env-Variablen machen: [c]docker run --name some-guacamole \ ... -v /local/path:/some-directory \ -e GUACAMOLE_HOME=/some-directory \ -d -p 8080:8080 guacamole/guacamole[/c] https://guacamole.apache.org
8080/guacamole, not /. ## enable next line when using nginx ## - 8080/tcp restart: always[/c]
-
Thread
Strommessung mit AVR (0,1mA bis 100mA)
möchte mit einem AVR Ströme von 0,1 bis 100mA messen. Auf welchem Pegel bzgl. der Versorgung des uC liegt dabei dein Shunt?
Berechnung nach float casten. Mit einem Store-Kommando werden sie im EEEPROM abgelegt, optional mit String (Name, Datum).
-
Thread
Eine Bitte um Hilfe / RIFD Modul RDM 6300 keine Reaktion
Modul mit unbekanntem 8-Pin Mikrocontroller (abgeschliffene Beschriftung) anstelle des Silicon Labs C8051F330: Die grüne LED ist dauerhaft an. Am UART Tx Pin wird bei Erkennen eines Tag die Tag ID ausgegeben (mit 9600 Baud), konfigurieren muss man dazu nichts. Getestet mit einem EM4102 Tag (125 kHz
- div. RDM6300 Module - 4-Kanal Pegelwandler Logic Level Converter Shifter 4 Kanal Pegelwandler I2C IIC BiDirektional 5V~3.3V - div. 125kHz-Tags (getestete Keykarten, Klebepunkte, Chips) - ARCELI Digitaloszilloskop-Kit im Taschenformat, Open Source, 2,4-Zoll-TFT (extra gekauft, funktioniert super
-
Thread
CRC32 Berechnung funktioniert nicht
leider stimmt mein CRC32 nicht mit den üblichen Verfahren überein. Ich habe zu Testzwecken mal den String "1234" als Daten hergenommen. Mein Polynom ist 16#04C11DB7, binär also 1 0000 0100 1100 0001 0001 1101 1011 0111. An meine Daten (chars, also 4 Byte) hänge ich 32 Nullen an. Nun gehe ich her
Wie schaut eine solche Initialisierung aus? https://de.wikipedia.org/wiki/Zyklische_Redundanzpr%C3%BCfung#Berechnung_einer_CRC-Pr%C3%BCfsumme_in_C_und_Pascal_bzw._Delphi Dort ist es diese Zeile: [code] uint32_t crc32 = 0; /* Schieberegister */ [/code]
-
Thread
Neuer gcc compiler für ARM und Optimierungen
die will man nicht verwenden, auch nicht auf bare-metal. Als Work-Around geht zum Beispiel: [c] size_t strlen (const char *text) { size_t len = 0; while (*text) { text++; len++; __asm (""); } return len; } [/c]
://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/machine/arm/strlen-armv7.S;h=6aa122c075bbd395c1c1b53925b0a28c3be7294e;hb=HEAD Für Thumb2 ist der Code dann kürzer: https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/machine/arm/strlen-thumb2-Os.S;h=4adbc61d2e032ca7593db6b39e938202058583ba
-
Thread
Ursache für ARM9 "ABORT mode" finden
90000010 = 18 F0 1F E5 18 F0 1F E5 18 F0 1F E5 18 F0 1F E5 ................ 90000020 = 40 28 12 90 2C 2A 12 90 54 2A 12 90 7C 2C 12 90 @(..,*..T*..|,.. 90000030 = 24 2C 12 90 4C 2B 12 90 1C 31 12 90 40 33 12 90 $,..L+...1..@3.. 90000040 = 30 40 2D E9 43 DF 4D E2 04 00 0D E2 2F 54 05 FB 0@-.C.M
falsch, diese Kaskade da oben scheint eher ein Teil des Bootloaders zu sein. Hier wird im Kern ein String-Vergleich durchgeführt. Und zwar gibt es im SRAM eine Adresse (z.B. 0x2C5EB7A5) welche durch die ganze Kette durchgeschleust und nach einem String-Match gesucht wird. An besagtem SRAM steht da: [code
-
Thread
MCP2221A VBA
bekomme ich hin. PC-Programmierung ist schon schwieriger für mich. Ich will die ersten Versuche mit I2C und SI4844 mit Windows-PC machen. Sonst müßte ich einen MC brennen -> geht nicht -> Programm ändern - MC brennen -> u.s.w. Ich dachte eine Platine mit I2C und ein paar GPIO wäre gut. Da ich keine
Bodo M. schrieb im Beitrag #7556035: > Ich will die ersten Versuche mit I2C und SI4844 mit Windows-PC machen. > Sonst müßte ich einen MC brennen -> geht nicht -> Programm ändern - MC > brennen -> u.s.w. Ja und? Die Zeiten von EPROM-Löschgeräten sind vorbei. Vielleicht
-
Thread
MEGA1284P XPLAINED über USB mit avrdudue programmieren
-g -Os -mmcu=atmega1284p -c init.c $ avr-gcc -g -Os -mmcu=atmega1284p -c usart.c $ avr-gcc -g -Os -mmcu=atmega1284p -c mega_1284p_xplained_example.c $ avr-gcc -g -mmcu=atmega1284p -o m1284p_xpld_ex.elf init.o usart.o mega_1284p_xplained_example.o
ich mit dem Atmel ICE in den Mega1284p geschrieben: [code] $ avr-gcc -g -Os -mmcu=atmega1284p -c init.c $ avr-gcc -g -Os -mmcu=atmega1284p -c usart.c $ avr-gcc -g -Os -mmcu=atmega1284p -c mega_1284p_xplained_example.c $ avr-gcc -g -mmcu=atmega1284p -o m1284p_xpld_ex_nt.elf init.o usart.o mega