-
Thread
Serial Communiction uint8_t* Arduino
Axel S. schrieb im Beitrag #7268026: > Und ein old school "String" in C ist ein > Array derselben bzw. ein Pointer darauf. Ein C-String ist ein Array aus char, nicht ein Array aus unsigned char. Ob char selbst wiederum signed oder unsigned ist, ist nicht festgelegt
es. Bitte nicht nochmals mir erklären, was ein Ringbuffer, wie ein String Objekt aufgebaut ist und wie ein char Array bzw. ein String in C aufgebaut ist. Ich habe in reinen C auf einem Linux System schon einige Projekte umgesetzt. Also Variablentypen und co kann ich unterscheiden
-
Thread
CRON: curl wird nicht ausgeführt
) ist von den Quotes darum nicht betroffen, würde ja auch keinen Sinn machen. Zur Demonstration: [c] # Hello World echo "$(printf '%s\n' "Hello World")" # "Hello # World" echo "$(printf '%s\n' \"Hello World\")" [/c] Wie man sieht, die "" im ersten Fall tun was sie sollen, aber im zweiten
Bedeutung, und damit effektiv die 2 Argumente '"Hello' und 'World"', da das ja nicht mehr in einem "" string drin ist.
-
Thread
Was ist der Unterschied zwischen einer dimmbaren und einer nicht dimmbaren LED Birne.
> Liege ich da richtig? Nein. Dann wäre jeder Integrator, Tiefpass oder ähnliche Gebilde aus R&C nicht in der Lage zu funktionieren. Dem C ist es wurst, mit welchen Impulsen Du ihn ladungstechnisch befüllst. Wenn die angeschnittenen Phasen zu kurz sind, dann fließt weniger Ladung in den C, sind sie dagegen länger, dann bekommt der C mehr Ladung ab. Da die Diode vorweg nur eine Polarität der Phase durchlässt wird je nach Anschnittswinkel der C auf eine höhere oder tiefere Spannung geladen
-
Thread
String in char convertieren
memcpy mit string.c_str() ?
So: String input = "Hallo test"; Serial.println(input.c_str());
-
Thread
Maschinenbaustudium noch in 2023 beginnen?
Jahre ohnehin gibt (Eiszeiten). Es kann aber auch zur totalen Verschiebung Richtung Venusklima (400°C) durch intensiven Treibhauseffekt kommen. In der Kreidezeit waren die temperaturen auch höher (Durschnitt 35°C) , das ließ bspw. die Zauneidechse zum Tyrannosaurus Rex spriessen.
Weihnachten ISBN:978-3608949063 durcharbeiten. Zur "Einstimmung" https://de.wikipedia.org/wiki/G%C3%B6delscher_Unvollst%C3%A4ndigkeitssatz lesen. PS: Auch wenn Genies zum Wahnsinn neigen, ist Wahnsinn kein Indiz für Genialität. (siehe John Forbes Nash Jr.)
-
Thread
Uhrzeitrechner
überschlagen 10 Werte pro Minute * 60 Minuten * 10 Stunden * mindestens 40 Byte pro Eintrag (da alles als String). Also 240kB+. Also nichts was man bei dem uC im RAM hält. Es wird also darauf raus laufen z.B. eine Datei pro Stunde anzulegen. Zum Beispiel mit Datum/Uhrzeit im Dateinamen. Immer wenn es 11 Dateien
bisschen zu groß wird ;) Pseudocode aus der RTCLIB Referenz (ungeprüft zusammengewurschtelt): [c] String zeit = rtc.now().timestamp(); //("2020-06-25T15:29:37") //Lesen mit String input="2020-06-25T15:29:37|37"; int index = input.indexOf('|'); const String check = input.substring
-
Thread
Chinesische Lichterkette ohne Lichtorgel?
einen Brückengleichrichter. Ganz rechts sind die Netzanschlüsse. Links 3 Anschlüsse für die LED-Strings.
Schon verblüffend, daß der kleine µC 320V direkt schalten kann. Und auch die geringen Pinabstände. Die Vorwiderstände dürften in den LED-Ketten sein, den µC sollte man daher kurzschließen können. Der Taster ist dann natürlich wirkungslos
-
Thread
Verkaufe: Raspberry Pi Beta Production Board from December 2011 - Sammlerstück, Limitiert
verglichen, bis auf ein Bauteil und einer Aufschrift ist keinerlei Unterschied zu erkennen. Selbst der String auf dem Aufkleber auf der Rückseite unterscheidet sich nur in zwei Zeichen (und zwar in einer Art, die darauf hindeutet, dass mein Board älter ist). Edit, Nachtrag: und ja, da läuft auch Buster
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" pi@raspberrypia:~$ cat /etc/debian_version 10.13 [/c] Gruesse Th.
-
Thread
vb.net / RegEx: Zeilen zwischen Werten zählen
höre auf. Mal kurz aus dem Internet zusammen geklaut, ungefähr so: [code] Dim arr() As String Dim i As Integer Dim counter As Integer Dim countDoc As Boolean counter = 0 countDoc = False arr = Split(RichTextBox1.Text, vbCrLf) For i = 0 To UBound(arr)
[c]AnzahlLines = RichTextBox1.Lines.Count-2[/c]
-
Thread
Arduino Codegröße
Benutzt du bereits PROGMEM und F-Strings für konstante Strings? https://www.arduino.cc/reference/en/language/variables/utilities/progmem/
Steve van de Grens schrieb im Beitrag #7260306: > Benutzt du bereits PROGMEM und F-Strings für konstante Strings? > > https://www.arduino.cc/reference/en/language/variables/utilities/progmem/ Wenn er FLASH sparen will hilft das nix, nur RAM.
-
Thread
SD-KArte jede stunde einen Wert speichern
Warum vermischst du eigentlich diesen [c] if (! rtc.begin()) { ... [/c] und diesen Klammerunsstil [c] if (SD.begin()) { ... [/c] dauernd? Das erschwert das Lesen unheimlich. Kommt das einfach daher, dass du den einen
einfach * 1 Stunde abwarten * die geschriebene Datei einlesen, und dabei von den 5 eingelesenen Strings nur die letzten 4 speichern * diese 4 Strings wieder in die Datei schreiben (O_TRUNC "leert" die Datei) * den neuen Wert ebenfalls in die Datei schreiben Denn dann musst du keinen lokalen Puffer
-
Thread
[vb.net] ComPort Hex-Bytes einlesen und Zeichenfolge suchen
Dim bytesRead As Integer = SerialPort1.Read(bufferArr, 0, bufferArr.Length) Dim hexString As String = "" For Each item As Byte In bufferArr hexString &= item.ToString("X") 'X2 auch versucht Next TextBox1.Text = hexString[/code] Nun erscheinen
Fertig. Hier noch ein VB.net Code dazu. https://www.vb-paradise.de/index.php/Thread/123914-String-to-Hex-Hex-to-String-ohne-b%C3%B6se-Funktionen/ Einfach gesagt, du wandelst das HEX in ein String um und machst dann folgendes: Text$ = Text$ + umgewandelten_string$ Textbox1.test = text$
-
Thread
OOM bei EspAsyncWebServer auf ESP8266
..."); debug("Free memory: " + String(system_get_free_heap_size()) + " bytes"); String datetime = Clock_getDateTimeString(); StaticJsonDocument<50> jsonResponse; jsonResponse["datetime"] = datetime;
übergeben, da muss das ganze Objekt nochmal kopiert werden. Übergabe als Ref dürfte sparsamer sein. [c] void jsonDataSuccess(AsyncWebServerRequest *request, int httpCode, StaticJsonDocument &jsonResponse) [/c]
-
Thread
Die letzte Generation von Software Gesperrt
verschiedenen Sprachen implementiert, als Benchmark. Im Kern ein signifikanter Datenbestand, der per String indiziert wurde. Gefüttert aus einem zu parsenden Textfile. Bei C++ verwendete ich eine entsprechende Lib. Ergebnis: Perl war der Spitzenreiter im Tempo, vor C++. Auch Smalltalk schlug sich wacker
Beispiel die absolut performancekritischen Teile einer Game-Engine schreibt man auch heutzutage oft in C, oder einer aehnlich dafuer geeigneten Sprache, aber mal sicher nicht in Python! Und die Stellen an denen man Python einsetzt....ja koennte man das auch in C machen, aber halt in einem X-fachen der
-
Thread
Neigung von PV-Modulen. Ab wann egal?
unterschiedlicher Neigung zur Sonne, etwa auf einer Gaube oder Mansarde, auch in unterschiedliche Strings zu packen und an den Wechselrichter anzuschließen. Nur: ab welchem Winkel ist denn das egal? Oder andersrum: Ab welchem Winkel wird es relevant? Hat das mal jemand ausgerechnet?
Neigung 2 in Serie sind. Das ist wie Teilverschattung von einzelnen Modulen, das kann den ganzen String runterziehen.
-
Thread
Sammelbestellung von Adapterplatinen für elektronische Preisschilder
Update: Die Ohne µC gehen zu Uli auf die Post. Die Mit µC bin ich noch an der Software... Falls jemand *KEINE* Software darin braucht, bitte *Melden* , dann kann ich die auch schon mit den Ohne µC Lossenden... Gruß
Der wollte doch nur bei C18 mal vorbeischauen.
-
Thread
Modbus TCP vs. MQTT auf ESP32
::string) umgeht man das indem man einfach verschwenderisch mit dem Speicher umgeht, und die reservierte Speichergröße jedesmal verdoppelt. Ergibt dann "amortised constant time" für das append. Am µC ist
Danke für den Input! Ich schaue mir das mal an... [c] void callback(char *topic, byte *message, unsigned int length) { String messageTemp = String((char*)message, length); Serial.println(messageTemp); } [/c] wäre das auch eine Variante
-
Thread
BME680 not running properly
WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Wire.begin(); iaqSensor.begin(BME680_I2C_ADDR_SECONDARY, Wire); output = "\nBSEC library version " + String(iaqSensor.version.major) + "." + String(iaqSensor.version.minor) + "." + String(iaqSensor.version.major_bugfix) + "." + String(iaqSensor.version.minor_bugfix
); output += ", humidity=" + String(iaqSensor.humidity); output += ", staticIaq=" + String(iaqSensor.staticIaq); output += ", co2Equivalent=" + String(iaqSensor.co2Equivalent); output += ", breathVocEquivalent=" + String
-
Thread
Barcodes erzeugen
Word oder Excel > (Microsoft 365) zu erzeugen? https://support.microsoft.com/de-de/office/hinzuf%C3%BCgen-von-barcodes-zu-etiketten-495cf789-c9d9-4ea5-8eb9-7299170d4831 Georg
Boolean Dim ret As String Dim vl As String Dim tmr As Date Dim eXecPath As Variant eXecPath = ThisWorkbook.Path & "\Exec\QREnCode.dll " If InStr(1, "png svg eps", LCase(FileType)) Then If micro > 0 Then
-
Thread
Shelly 3em gekauft - und nun ?
/emeter/0/em_data.csv Vergiss einzelne I2C sensoren, das ist gebastel.
Phase A: total = 1 kWh, total_returned = 0 kWh Phase B: total = 1 kWh, total_returned = 0 kWh Phase C: total = 0 kWh, total_returned = 2 kWh Wenn man also die Gesamtenergie so berechnet: phA_total - phA_total_returned + phB_total - phB_total_returned + phC_total - phC_total_returned kommt in
-
Thread
MQTT, JSON, Telegraf und InfluxDB
Doku ;) Es könnte aber dazu führen, dass per Default alles nach float geparst wird und dann bei Strings anschlägt. Ich habe in mqtt_consumer nur das Allernötigste (server, json_v2 und topics) und erst in den den json_v2.fields den Namen und den Typ, den ich erwarte.
. Rein kommt: [code] tele/tasmota_A02014/SENSOR {"Time":"2022-11-15T21:59:38", "COUNTER":{"C1":28146,"C2":36963,"C3":38783}, "DS18B20-1":{"Id":"0000001F0D50","Temperature":24.7}, "DS18B20-2":{"Id":"0000001BBDC8","Temperature":22.7}, "DS18B20-3":{"Id":"0000001D1EAA","Temperature":22.9}, "
-
Thread
in PreferenceFragmentCompat Bluetooths Objekt öffnen Android Java
); Log.w(TAG, "Grün wurde eingeschaltet"); } ... [/c] Hier der Code aus DeviceControlActivity: [c] public class DeviceControlActivity extends AppCompatActivity{ ... public DeviceControlActivity(BluetoothLeService mBluetoothLeService) {
mBluetoothLeService.writeCustomCharacteristic(53); Log.w(TAG, "Grün wurde eingeschaltet"); } [/c]
-
Thread
seriell FTDI TTL UART SUART ich blicke nicht mehr Durch!
die nicht in die gleiche Richtung zählen bzw. schieben für den Vergleich auf gleicher Bitposition? [c] / /Könnte man nicht für char c = opt_s[optlen]; // lieber den Index i verwenden? char c = opt_s[i]; [/c] [c] unsigned option_s (unsigned ist) { // decode -s string // format: 01xx10
break; default: fprintf (stderr, "ERROR: unknown character in -s option: %c\n", c); } maske <<= 1; } if (optlen > 0) fprintf (stderr, "WARNING: -s option string too long\n"); return toggleData; } [/c]
-
Thread
STM32: Compilierter Code unterschiedlich groß und Breakpoint nicht setzbar
printf() wird bei einem konstanten String zu einem puts().
setzen kann man auch die Holzhammermethode anwenden und den Breakpoint manuell im Code setzen mit [c]__BKPT ();[/c] oder [c]__asm__ volatile ("BKPT #0");[/c] Der wird dann garantiert ausgelöst wenn der Code ausgeführt wird.
-
Thread
scanf und Leerzeichen
schrieb im Beitrag #7246051: > In Free Pascal/Delphi Lazarus ist das irgendwie einfacher, dank String Ja, Stringhandling ist nicht unbedingt die Stärke von C. Peter K. schrieb im Beitrag #7246047: > Im GEgensatz zu PAcal beginnt bei C ein Array doch mit 0 und nicht bei > 1, oder nicht?! >
benutzt und war von der Funktionalität so begeistert, dass ich seitdem von der Konsole nur noch Strings lese und die selbst auswerte. Wobei ich in den letzten 15 Jahren C nur noch gelegentlich mache. Dass der Thread hier so eskaliert ist lag meiner Meinung nach schon an beiden Seiten. Wobei hier
-
Thread
Reedkontakt am Gaszähler funktioniert nicht korrekt
übermittelt wurde, es sind immer mindestens 20-30 Sekunden dazwischen. Hier die Codeauschnitte: [c] void IRAM_ATTR ISR() { detachInterrupt(12); isInterrupted= true; } [/c] [c] void handleInterrupt(){ if(isInterrupted){ client.publish("sensors/gas01/count", "1"); client.publish("sensors/gas01/rssi", String(WiFi.RSSI()); isInterrupted = false; isDebounce = true; lastDebounce = millis(); }[/c] [c] void handleDeboune(){ if(isDebounce){ if(millis()> (lastDebounce+10000
-
Thread
Source code schützen und trotzdem modular
schwebt die Regel in C: Was in der Applikation ist, wird nicht aus der lib geholt. Und ohne weak etc. musst Du bedenken, dass C-Files der Lib immer komplett eingebunden werden. Also muss die appl alles oder nichts (eines
main(void) {printf("A=%i, B=%i", A(), B());} (ausprobieren) 4) Mache eine neue LIB myLib aus 2 C-Files: a.c mit int A(void) {return 3;} und b.c entsprechend. 5) Füge Deine LIB zum Projekt hinzu (ausprobieren, es passiert noch nichts) 6) Kommentiere die Funktion A in Deinem main aus. --
-
Thread
Einheitliche Regel für in C erstellte Variablen, Typen etc
Namespace bei C? Gibt es das da auch?
eax,ecx 0000000000000008: C3 ret foo_mix: 0000000000000000: 0F BF C2 movsx eax,dx 0000000000000003: 03 C1 add eax,ecx 0000000000000005: C3 ret
-
Thread
USB Kompatibilitäts Probleme mit neuen Windows Versionen Gründe
falls sie mit einem älteren BS nicht weiterbenutzt werden können. Man braucht z.B. nur an diverse uC Programmieradapter oder Scanner, Drucker und andere Spezialgeräte denken Vorerst, ich kenne mich mit den "grausigen Details" von Windows USB Treibern nicht sehr gut aus und frage eher aus der Sicht
> Man braucht z.B. nur an diverse uC Programmieradapter oder Scanner, Drucker > > und andere Spezialgeräte denken. Was mir da mit einem neuen PC und W11 für die uC Programmierung und für Stratum 1 Zeitserver-Funktion fehlte, waren je
-
Thread
Wie nested json mit arduinojson deserialisieren?
Meine Glaskugel sagt: [c] pwr = doc["ENERGY"]["Power"]; [/c] Alles andere würde keinen Sinn machen.
break; } } } else Serial.printf("[HTTP] GET failed %s\n", http.errorToString(httpCode).c_str()); http.end(); } else Serial.printf("[HTTP} Unable to connect\n"); return pwr; } [/code]
-
Thread
Gesucht: Copy&Paste Software um im Browser Formulardaten auszufüllen
zur Hand, aber ein Skript, was dir bei der Tastenkombination Strg+1 bis Steg+5 vorher festgelegte strings einfügt, sollte doch zu finden sein.
/de-de/windows/zwischenablage-in-windows-c436501e-985d-1c8d-97ea-fe46ddf338c6#WindowsVersion=Windows_10
-
Thread
Qual der Wahl - Sensoren Auswertung auf Display ("Analog")
schau Dir mal Nextion-Displays an Da kann man per UART strings hinsenden die das Display dann auswertet und Dinge anzeigt...
bestätigen. Ich habe mal ein Gerät mit A*-ProMini (AT328) und dem verbreiteten 0,96"-OLED gemacht, I2C monochrom. Dazu ganz blauäugig die SSD1306-Library von Adafruit verwendet, crasht der µC, sobald ich deutlich mehr tue als ein paar Taster abzufragen. Die Diskussion auf µC-net*) zeigte eindeutig in
-
Thread
SSD1305 mit STM32
mit dem Display benutze ich übrigens I2C. Gruss
für Arduino sein. Da kannst du dir mit sicherheit einiges raus ziehen, der STM läuft aber auch mir C++ 😉. Die I2C Treiber wirst du anpassen müssen.
-
Thread
Esp8266: NTPClient gibt immer Unix Epoch zurück
Nachtschwärmer schrieb im Beitrag #7230656: > Hallo, > > kannst du Code zeigen, der nicht funktioniert? [c] #include <NTPClient.h> #include <WiFiUdp.h> WiFiUDP ntpUDP; NTPClient timeClient(ntpUDP, "pool.ntp.org"); String weekDays[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday
Serial.println(currentYear); String currentDate = String(currentYear) + "-" + String(currentMonth) + "-" + String(monthDay); Serial.print("Current date: "); Serial.println(currentDate); Serial.println(""); return