-
Thread
Light APRS auf 1284P flashen
über irgendwelche Void und char Variablen. So wie ich mich eingelesen habe, gibt es Unterschiede bei C und C++ Compilern. Trotz allem hab ich mit der Arduino IDE eine Hex Datei nach dem compilieren abgespeichert und diese dann mit Arduino Studio auf den 1284 geflasht. Heute Abend will ich das Tunermodul
Problematik, aber ich bin "überfragt" damit https://stackoverflow.com/questions/56524609/warning-iso-c-forbids-converting-a-string-constant-to-char-wwrite-string Welche Zeilen sind denn überhaupt gemeint, normalerweise wird die doch angezeigt?
-
Thread
Oled Display W202-XDLG via SPI an Arduino Uno
(12,11,13,10); rs.begin(16,2,1); } void loop(){ rs.clearBuf(); rs.drawString(10,0,"F",1,1,1); rs.drawString(15,0,"a",1,1,1); rs.drawString(20,0,"l",1,1,1); rs.drawString(25,0,"t",1,1,1); rs.drawString(30,0,"p",1,1,1); rs.drawString(35,0,"c",1,1,1); rs.displayBuf
int8_t x, int8_t y, int8_t w, int8_t h, uint8_t color); void drawChar(int x, int y, unsigned char c, uint8_t color, uint8_t bg, uint8_t size); void drawString(int x, int y, const char * cstring, uint8_t color, uint8_t bg, uint8_t text_size); void drawInteger(int x, int y, int data, uint8_t color
-
Thread
Einfacher Fehler in C-Berechnung
Taschenrechner berechne, kommt das richtige raus, allerdings nicht i Code. Das ganze rennt auf einem AT32UC3C1128C. hier dir Formel: [c] LiquLev = 10 * (float)((-0,000004 * (LiftParamR1Vol/10) * (LiftParamR1Vol/10) + 0,0405 * LiftParamR1Vol - 0,003)); [/c] LiquLev und LiftParamR1Vol ist vom Typ uint16
Werz schrieb im Beitrag #6811844: > Das ganze rennt auf einem AT32UC3C1128C. Du bist eine echte Lachnummer. Troll?
-
Thread
Attiny85, suche Möglichkeit zur Kommuikation/Daten auslesen
EEPROM-Inhalt laufend "rausmorsen". Lucas schrieb im Beitrag #6882488: > Müsste als HEX dann ja "1C0" lauten. > auftauchen wo hier "C001" steht. Das kommt davon, dass im IntelHex das LSB verdrehterweise *zuerst*, ganz links kommt: [pre] Adresse 0 1 2 3 4 5 6 7 8 9 a b c d e f :10000000C001FFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
c-hater schrieb im Beitrag #6892941: > Bullshit Selber!
-
Thread
Nicht byte-weise Protokolle in C - Wie am besten vorgehen?
zu enormem overhead führen. Sagen wir, z.B. meine Token wären in so einer Struktur gespeichert: [c] struct hlex_string { size_t length; // Note: not null terminated const uint8_t* data; }; struct hlex_token { const struct hlex_token_type* token; const char* label; // Most of the time probably null struct hlex_string content; // points inside hlex_root::mmap size_t child_count; const struct hlex_token* children; const struct hlex_token* parent; }; [/c] Dann wären das rund 56 Bytes pro Token. So kann
-
Thread
Der perfekte USB-UART-Konverter
FT2232D sogar 6(!)MHz. Und sie brauchen je 47p von D+ und D- nach GND -- ESD-Schutz soll immer möglichst C-arm sein und dann das? CP21*: die meisten sind abgekündigt, der CP2102 heißt jetzt CP2102N CP2105: der interne LDO liefert 3.45V; der Default der Seriennummer ist "Unique 8 character ASCII string
and STM32F303xE) #define UMEM_SHIFT 0 #define UMEM_FAKEWIDTH uint16_t [/c] [c] // For devices with 1x16 bits/word access schema // (e.g. STM32F103, STM32F302, STM32F303xB, STM32F303xBxC) #define UMEM_SHIFT 1 #define UMEM_FAKEWIDTH uint32_t [/c] Wenn man die richtig
-
Thread
Arduino-Updates: Neuer ESP32-Core, aktualisierte Version von Arduino CLI
/github.com/espressif/arduino-esp32/releases bereitstehenden Change Log folgende Verbesserungen: [c] Support for ESP32-S2. • Support for ESP32-C3. • Upload over CDC. • Support for the KSZ8081 (Ethernet PHY). • LittleFS update for partition label and multiple partitions.
/c] Leider gingen diese Anpassungen an der Systemstruktur mit umfangreichen Änderungen im Verhalten der Werkzeuge einher. Die unter https://arduino.github.io/arduino-cli/0.19/UPGRADING/ bereitstehende
-
Thread
ESP32 E-Papier-Thermometer
} void showPartialUpdate(float temperature) { Serial.println("Updating display ..."); String temperatureString = String(temperature,1); const char* name = "FreeSansBold24pt7b"; const GFXfont* f = &FreeSansBold24pt7b; uint16_t box_x = 60; uint16_t box_y = 60; uint16_t box_w
box_w, box_h, GxEPD_WHITE); display.setCursor(box_x, cursor_y+38); display.print(temperatureString); display.updateWindow(box_x, box_y, box_w, box_h, true); } void printTemperatureToSerial() { Serial.print(temperature); Serial.print(" C"); Serial.print("\n"); } [/c] [c]
-
Thread
C# Daten visualisieren in einer Tabelle
Guten Morgen, für eine C# Anwendung sollen Daten in eine Tabelle visualisiert werden. Welche Möglichkeiten gibt es eine einfache Tabelle zu erzeugen?
Toolbox das DataGridView Objekt. Die Daten selbst müssen in einem DataSet sein. Google Stichworte: C#, DataSet, DataGridView
-
Thread
ESP8266, Micropython, hängt teilweise, ev. IRQ- und/oder GPIO0-Problem?
runde = runde+1 if runde > 150: runde=0 machine.reset() [/c]
Inhalt transportieren, sind sie doch unterschiedliche Objekte. >>> a = "ABC" >>> b = "ABC" >>> c = "ABCD" >>> d = c[:3] >>> print(c) ABCD >>> print(d) ABC >>> print(a is b) True >>> print(a is d) False >>> print(a, d) ABC ABC >>> print( a == d) True >>> print(id(a), id(b), id(c))
-
Thread
I/O Pins Abfragen und Vergleichen
der Zähler egal in welche richtung ich drehe nur nach oben. hier meine if abfrage zum Vergleich [c] if(A != B) { zaehler++; } else { zaehler--; } [/c] hier der ganze Code [c]/* * Encoder_Rotary_Externer_Ueber_Interrupt.c * * Created: 01.09.2021 11:20:18 * Author
irgendwie einfacher als nachfolgend. So habe ich es jetzt gelöst. Aber das gefällt mir nicht. [c] #define Spur_A !(PIND &(1<<PD2)) #define Spur_B !(PIND &(1<<PD3)) uint8_t A_LOW = 0; uint8_t B_LOW = 0; [/c] [c] f if(Spur_A) { A_LOW = 0; } else { A_LOW = 1; }
-
Thread
Bitfeld zuweisen: Warum optimiert der Compiler nicht?
: f892 302c ldrb.w r3, [r2, #44] ; 0x2c 8008298: f36c 0300 bfi r3, ip, #0, #1 Out.Inputs.driveStatusOk = (input & SWITCH_DRVx_STATUS); 800829c: f3c0 2c40 ubfx ip, r0, #9, #1 80082a0: f36c
clang-cl einwandfrei funktioniert. Der gcc mag das aber nicht. Ich habe nur mit 2 Bits getestet: [c] #include <stdio.h> #include <string.h> struct Inputs_s { unsigned int mpgKey :1; /**< Funktionstaste am Handrad gedrueckt */ unsigned int dirRight :1; /**< Richtungswahlschalter
-
Thread
Teil-String Suche in Byte FIFO
Schreibzeiger meines FIFO in Bereichen die schon mal verwendet wurden. Einzelne Antworten sehen so aus: [c] CR LF value CR LF [/c] Dabei braucht man nichts machen, da der Lese/Schreibzeiger genau diesen String umschliesst. Es können aber auch Listen eintreffen: [c] CR LF list entry 1 CR LF list entry 2 CR LF … list entry n CR LF CR LF [/c] Wenn nun eine Antwort eintrifft und im FIFO landet, möchte ich diese herausfiltern: 1) das erste CR LF suchen 2) dann das CR LF danach suchen 3) dazwischen herausfiltern Nun die Frage: String
-
Thread
TOISWITCH - IoT I/O-Server für ESP8266
hacker-tobi schrieb im Beitrag #6805321: > mit dem Arduino-C-Dialekt kann ich mich nicht anfreunden Du meinst C++? Ist aber heutzutage doch praktisch Standard.
status = PORT_ON; strcpy(gpio_pins[3].name, "LED"); device_ports = 4; } [/c]
-
Artikel
Plattformunabhängige Programmierung in C
Geräten (z.B. Display, serielle Schnittstelle) ausgegeben werden sollen, müssen sie zuerst in einen String umgewandelt werden. Bei Benutzereingaben benötigt man die Umkehrung, also die Umwandlung eines Strings in einen Integer. In C steht dafür die itoa/atoi - sowie die printf/scanf -Funktionsfamilie zur
in Integer oder Strings konvertieren. Auf Mikrocontrollern ohne FPU Fließkommaberechnungen zur Laufzeit grundsätzlich vermeiden. Alternative: Festkommaarithmetik. Bytereihenfolge: Nicht das C-Typsystem durch Type punning
-
Thread
[V] 1x GPS-Maus USB BN-82U, 1x GPS-Modul TTL NEO-6M
extrem einfach. Am PC können mit einer beliebigen Terminal-SW sofort die Daten als lesbare NMEA-Strings ausgelesen werden. Die Test-Software von ublox klappt auch sofort. Das Teil ist deutlich empfindlicher als mein Handy oder meine alten Navis. In der meiner Wohnung, wo diese Geräte nichts empfangen
raus!!] 2. GPS Modul mit TTL-Ausgang NEO-6M-0-001 Fehlkauf! Dieses Modul wollte ich an einen uC klemmen, daher der TTL-Ausgang mit 3.3V. Habe leider erst beim Auspacken gemerkt, dass dies ein Modul OHNE Antenne ist. Daher hab ich das Modul nur kurz ausgepackt aber nie betrieben. Somit neuwertig
-
Thread
Quelltext: Lesestoff gesucht
"var" eingeführt welches ich *manchmal* gerne nutze. Beispiel: [c] Map<String,Map<String,User>> groups = db.getGroupedUsers(); // keys= groupName, userName for (var group : groups.entrySet()) { for (var user : group.entrySet()) { ... } } [/c] Hier ist offensichtlich, welchen Datentyp "var" hat. Die vollstänsig ausgeschriebene Version bringt mir keinen Erkenntnisgewinn, ist aber wegen der langen Zeilen schwerer lesabr: [c] Map<String
-
Thread
C++ Regex vs regexr.com
Grüß euch Ich bräuchte kurz Hilfe um einen Regex Ausdruck in C++ zusammenzustellen. Folgender Ausdruck soll Zahlen und Zahlenbereich aus einem String kitzeln: [c] (\d+\s*-\s*\d+)|(\d+) [/c] Mein Teststring hierfür ist: [c] 1 10-42 7 unmatched text , 42 [/c] https://regexr.com/ meldet für diese Kombination auch "4x matches", ich schaffe es nur nicht das selbe Ergebnis mit C++ zu reproduziereren. Folgender Code gibt lediglich "1 1" aus... [c] #include
-
Thread
HTML Gui mit Slidern und Buttons
es aber nicht, den Sliderwert zu übertragen. Das Problem scheint auf der HTML-Seite zu liegen: [c] function slider3() { var value = parseInt(document.getElementById('slider3').value).toString(10); websocket.send(JSON.stringify({action: 'slider'})); } [/c] Hier
aber nicht, den Sliderwert zu übertragen. > Das Problem scheint auf der HTML-Seite zu liegen: > [c] > function slider3() { > var value = > parseInt(document.getElementById('slider3').value).toString(10); > websocket.send(JSON.stringify({action: 'slider'})); >
-
Thread
Raspberry durch einen µC überwachen?
Ein Raspberry Zero soll über seine serielle Schnittstelle mit einem µC (ATtiny o. ä.) verbunden werden. Der µC soll den Raspberry überwachen und im Fehlerfall neu starten. Wie kann der µC sicher erkennen, ob der Raspberry einwandfrei arbeitet?
schauen, ob da etwas mit "meinscript.py" vorkommnt. Ich erkläre dir jetzt aber nicht, wie man Strings in C programmiert.
-
Thread
Serial-to-Ethernet: Welche Daten für URL senden?
an ein paar Stellen modifiziert. Nach dem Booten kommt ein "D" und nach dem Connecten nun auch ein "C", wie es sein soll. [c] void xport_connect(void) { unsigned int uiAnzahlBytes; strcpy(web.caHTML_string, "C192.168.178.53/80\n"); uiAnzahlBytes = strlen(web.caHTML_string); HAL_UART_Transmit_IT(&huart2, web.caHTML_string, uiAnzahlBytes); } [/c] Auch das Senden des HTTP-Requests geht nun: [c] { unsigned int uiAnzahlBytes; strcpy(caString, "GET /login.htm HTTP/1.1\r\n"); strcat(caString, "Host: 192.168.178.53
-
Thread
Meadow F7: Dateisystem, neue I2C / SPI-API, Refactorings für neue Zielplattformen
MeadowOS.FileSystem.TempDirectory: {MeadowOS.FileSystem.TempDirectory}"); } private void CreateFile(string path, string filename) { Console.WriteLine($"Creating '{path}/{filename}'..."); if (!Directory.Exists(path)) { Console.WriteLine("Directory doesn't
Ankündigung spricht man sogar davon, dass mehr als 200 000 Requests in einer Session verarbeitet wurden: [c] We’ve fixed nearly all of the leaks on web requests. We’ve successfully tested 200k+ requests without blowing mem. [/c] ### Stramlineing im Bereich der I2C-und SPI-API ist Das permanente Allozieren
-
Thread
Hilfe nötig für vereinfachung einer c Funktion
Hallo, ich habe eine FUnktion geschirben in c aber ich denke sie ist sehr kompliziert? Kann man diese einfacher schreieben?? [code] #include <stdio.h> #include <string.h> int main() { char str[] = "69:66:84:1A:0E:E7:E5:51:30:82
+ = ' '; src++ } } *dest = 0; } [/c] Wer will kann ja noch beliebige Fehlerabfragen dazubauen. Ist halt eine Frage davon, was die Spezifikation ist. Wenn garantiert ist, dass der Eingangs-String korrekt ist und der Ziel-Buffer groß
-
Thread
ATmega328p fehlerhafte UART-Anzeige mit bootloader
Den kompletten Überblick gibts hier. https://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung
Das ist offenbar der Start der String-Konstanten; aber was daraus folgt - keine Ahnung.
-
Thread
Die Größe von 256 Bit Hashes vergleichen
ist ein Digest keine "Zahl", sondern nur ein bestimmte Anzahl von Bytes. Und wenn man einen Byte-String vergleicht, bzw. den als Integer interpretiert, interpretiert man Byte-Strings "natürlich" als Big-Endian. Aber es ist eben kein Integer, sondern ein Byte-String. Einen Byte-String kann man aber
und nicht den halben Lösungsweg vor. Falls das Sortierung zur Anzeige o.ä. ist: Einfach nach String konvertieren und die Strings sortieren.
-
Thread
USB3-to-SATA Adapter - Fake oder Treiber Problem?
s.u. OK-Adapter: Aug 18 15:34:21 linux-kwm1 kernel: usb 2-5: New USB device found, idVendor=174c, idProduct=1153, bcdDevice= 0.01 Aug 18 15:34:21 linux-kwm1 kernel: usb 2-5: New USB device strings: Mfr=2, Product=3, SerialNumber=1 Aug 18 15:34:21 linux-kwm1 kernel: usb 2-5: Product: AS2115
Platten mit Motorantrieb, und ein paar Köpfe am mittig eingebauten Linearmotor. > Am Anfang ist C:\ Am Anfang war das Wort, wurde mir berichtet. Wird wohl stimmen, denn ein C:\ kann ich im Linux nicht finden.
-
Thread
Wandlung von einem char (Dezimalzahl) in Integer
sich das aktuelle Kommando bezieht int cmd_led; while-Schleife/main { // lese ein Zeichen ein c = uart_getc(); // speichere das aktuell empfangene Zeichen ab und haenge es an das Ende des empfangenen Strings/Kommandos an command_from_uart[command_count] = c; // pruefe ob ein ENTER empfangen
cmd_led, str, 10); uart_puts("str1:"); uart_puts(str); uart_puts("\r\n"); } } } [/c] Wenn ich nun via hterm (oder auch putty) die Zeichen [code] $L3P=1\n [/code] eingebe, so erhalte ich die folgende Ausgabe: [code] cmd:$L3P=1<\n><\r><\n> str1:0<\r><\n> 63 6D 64 3A 24 4C 33
-
Thread
Ungültige Integer
wäre sehr dankbar für jeden Literaturtipp (auch Quelltext) zum Thema "sauberere Fehlerbehandlung in C auf dem µC.
nach wie vor atomar möglich (auf einem 32-Bit-µC natürlich) und kein Platz verschwendet.
-
Thread
USB UART Kommunikation STM32
hTerm ansteuerbar ist. Wenn ich einen Befehl sende, z.B. eine Temperaturabfrage, geschieht dies über string befehle. Empfangen wird die Antwort auch als String. Konfiguration: 9600 kBaud, 8N1, kein flow-control. Da ich auch einen Computer verzichten muss, möchte ich dies Über einen Mikrocontroller lösen.
werden soll(en). Ist das die eigentlich angezielte Funktion? Wenn ja, dann nimm irgend einen µC, bau ein Display dran und bau den ADC dran (wenn es die gewünschte Auflösung erfordert) oder nutze den im µC enthaltenen ADC. Das wäre alles - vorausgesetzt, das ist dein eigentliches Anliegen. W.S
-
Thread
ST-Link Utility: Was kann beim lesen/schreiben schiefgehen?
Prüfsumme ins HEX? Also, ja, das ist eine dumme Geschichte. Ich neige dazu, für solche Sachen ein C-Programm zu schreiben, wenn ich nicht sofort etwas fertiges finde.
und man braucht auch keine. Die Prüfsumme ist ein 32-Bit-Datenwort wie jedes andere. Die taucht im uC-Programm als Teil einer struct auf. Nach dem Endeblock Angehängtes könnte als Kommentar interpretiert werden, bei Intel weiß man das ja nie so genau. Aber Klartext ist für Menschen, das ist optional