-
Thread
Konstanten berechnen >2**32
den Wert der constant nicht per VHDL-Boardmittel zu bestimmen, sondern in einem extra script (Pyzhon,C,TCL/TK,csh,...) das dann den entsprechenden VHDL code als txt-string ausgibt. So ähnlich wie man bspw bei Register packages macht. Oder um den Zeitpunkt der FPGA-Synthese in den VHDL-code zu bringen
der > constant nicht per VHDL-Boardmittel zu bestimmen, sondern in einem extra > script (Pyzhon,C,TCL/TK,csh,...) das dann den entsprechenden VHDL code > als txt-string ausgibt. Ja, nutzen wir auch in verschiedenen Ausprägungen. Z. B. Excel um Registeradressen zu verwalten, ist gleichzeitig
-
Thread
Einschaltstrombegrenzer / PV-WR an LifePO4
mindestens zwei ENS-Relais auf der Netzseite angezogen und ggf. zusätzlich noch eines zusätzlich pro String wenn sie eine interne DC-Trennstelle besitzen. Wenn Du das aktive Relais unbedingt einsparen möchtest, dann nimm ein bistabiles Relais. Dieses braucht nur einen kurzen Stromstoß zum Einschalten
Danke für die ANtworten Ich habe jetzt einfach 2 x C16 Automaten nebeneinander, der erste mit einem Ladewiderstand Ob der Homiles überhaupt einen Ladewiderstand benötigt - keiner weiss es Jochen B. schrieb im Beitrag #7395336: > Ich hänge mich mal
-
Thread
Altes EPROM auslesen Intersil 6654A (2xCE) mit Arduino
der zu initialisierenden Elemente angegeben Du verwechselst Initialisieren mit Deklarieren. [c] int bla[2]; [/c] deklariert ein Array vom Typ int mit zwei Elementen. [c] int bla[2] = { 1 }; [/c] deklariert ein Array vom Typ int mit zwei Elementen und initialisiert das erste davon
Armin schrieb im Beitrag #7397655: > Strings sind nicht in ASCII. Zeig doch mal (per C&P, nicht in Deinen eigenen Worten).
-
Thread
AVR_FAT32 und zwei geöffnete Dateien
D:\Arduino Projekte\Musterprojekt_FatFs\Release\ff.c 1 1 Musterproj_FatFs Error 4 undefined reference to `ff_wtoupper' D:\Arduino Projekte\Musterprojekt_FatFs\Release\ff.c 1 1 Musterproj_FatFs Error 5 undefined reference to `ff_uni2oem' D:\Arduino Projekte\Musterprojekt_FatFs\Release\ff.c 1 1 Musterproj_FatFs Error 6 undefined reference to `ff_uni2oem' D:\Arduino Projekte\Musterprojekt_FatFs\Release\ff.c 1 1 Musterproj_FatFs Wer hat eine Idee und kann helfen? Grüße Reinhard
-
Thread
Welche 32-Bit uC-Familie ist empfehlenswert?
jetzt was genau für Abstriche? https://en.wikipedia.org/wiki/C11_(C_standard_revision) Was würde Dir da konkret fehlen und warum, wenn Du "nur" C99 statt C11 auf einem *Mikro-Controller* zur Verfügung hättest?
Rudolph R. schrieb im Beitrag #7389999: > C11 nicht nutzen zu können erfodert jetzt was genau für Abstriche? > https://en.wikipedia.org/wiki/C11_(C_standard_revision) > Was würde Dir da konkret fehlen und warum, wenn Du "nur" C99 statt C11
-
Thread
ESP32: HTML sinnvoll generieren
Konfigurationswebseiten generieren kann. Html generell auszugeben habe ich schon geschafft. Hierfür war der Html String einfach festkodiert im Code. Ich habe schon gelesen, dass man auch eine Html Datei im Flash ablegen kann - was mir schon etwas "sauberer" und ressourcenschonender erscheint. Wie oben geschrieben
Harald K. schrieb im Beitrag #7387390: > Dein µC liefert also a) eine statische Seite mit etwas Javscript aus und > antwortet b) gezielt auf einzelne Anfragen, auf die hin er nur Werte > ausliefert, die vom Javascript auf dem Client in die Seite
-
Thread
Liste aller Variablen aus ELF-Datei
<1><b3379>: Abbrev Number: 3 (DW_TAG_typedef) <b337a> DW_AT_name : (indirect string, offset: 0x3e2c): uint32_t <b337e> DW_AT_decl_file : 2 <b337f> DW_AT_decl_line : 48 <b3380> DW_AT_decl_column : 20 <b3381> DW_AT_type : <0xb3334> <1><b3334>: Abbrev Number: 3 (DW_TAG_typedef) <b3335> DW_AT_name : (indirect string, offset: 0x3e2a): __uint32_t <b3339> DW_AT_decl_file : 1 <b333a> DW_AT_decl_line : 79 <b333b> DW_AT_decl_column : 25 <b333c> DW_AT_type : <0xb3340> <1><
-
Thread
DC Schütze und Schalter für PV Module
Stecker waren verkehrt rum angecrimpt weshalb die Verpolungsschutzdiode den Kurzschlußstrom des Strings ausgetestet hat.
Stecker waren verkehrt rum angecrimpt weshalb die Verpolungsschutzdiode den Kurzschlußstrom des Strings ausgetestet hat.
-
Thread
Absicherung 16A CEE Steckdose
isSmbAutoCall=false&needSmbHouyi=false&albcp=19744425265&albag=&trgt=&crea=de1005004788568407&netw=x&device=c&albpg=&albpd=de1005004788568407&gclid=CjwKCAjwuqiiBhBtEiwATgvixAa8qE_bRLjxpSPC-IdncpoHyE93DSNM0lvGyOOCNKJSuMNeT9d3WRoCtwoQAvD_BwE&gclsrc=aw.ds&aff_fcid=a1c7d81c5e9e480faec2b958153299f2-1682591493540-05859-UneMJZVf&aff_fsk=UneMJZVf&aff_platform=aaf&sk=UneMJZVf&aff_trace_key=a1c7d81c5e9e480faec2b958153299f2-1682591493540-05859-UneMJZVf&terminal_id=750d6a74a3e84626b08b47ba88c379c9&wh_weex=true&wx_navbar_hidden=true&wx_navbar_transparent=true&ignoreNavigationBar=true&wx_statusbar_hidden
-
Thread
Arduino IDE 204 bleibt hängen
Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -ggdb -freorder-blocks -Wwrite-strings -fstack-protector -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -std=gnu++11 -fexceptions -fno-rtti -MMD -c -Wall -Werror=all -Wextra
esp32\2.0.7\libraries\WiFi wird verwendet Bibliothek WiFiClientSecure in Version 2.0.0 im Ordner: C:\Users\didi\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7\libraries\WiFiClientSecure wird verwendet Bibliothek LiquidCrystal I2C in Version 1.1.2 im Ordner: C:\Users\didi\Documents\Arduino
-
Thread
Spannungsüberwachung für PV Module selber bauen
nur möglich der > Panel! Genau so ist es. PV Module werden typischerweise in Serie zu einem String verschaltet.
vermute, der ist da, um sicherzustellen dass der FET nicht dauerhaft durchschaltet, selbst wenn der uC hängen bleiben sollte.
-
Thread
ESP8266 - Datenübermittlung aus FRAM und als Download über Webserver zur verfügung stellen
ConvertSensorDataFromFRam(_i_down); PowerValues_print(get_data); downloadData["cur"] = String(get_data.current); downloadData["pow"] = String(get_data.power); downloadData["loadvol"] = String(get_data.loadvoltage); downloadData["time"] = String(get_data.timestamp); String jsonStringforDownload = JSON.stringify(downloadData); events.send(jsonStringforDownload.c_str(),"download_Data_csv", millis()); DataRecived = 1;
-
Thread
Neuer Arduino Uno, neue Einplatinencomputer und neue Software
dem namensgebenden RockChip-Ökosystem - ist nun in einer neuen, preiswerteren Variante verfügbar. [c] ✔️ 1 GB LPDDR4-RAM – $39 ✔️ 2 GB LPDDR4-RAM – $44 ✔️ 4 GB LPDDR4-RAM – $54 ✔️ 8 GB LPDDR4-RAM – $74 [/c] Als Prozessor kommt hier ein RK3568 zum Einsatz: eine 4-Kern-Engine auf Basis des A 55
Sem.setDataReadBy(1); // i'm ready to receive a new msg Serial.println("core1: received \""+String(DataFrom0)+"\" from core0..."); } delay(DELAY_1); // ... here core1 can do something else ... } // loop1() [/c] ### ARM: Anpassungen im Bereich des Lizenzsystems geplant
-
Thread
Alternative zu sprintf
verwenden (19 + die abschließende 0). Man würde wohl auch SendUartData() so implementieren, daß es mit C-Strings klarkommt und sich die explizite Längenangabe sparen. Und natürlich kann man in diesem speziellen Fall das sprintf() auch einfachst durch etwas handgeschriebenes ersetzen. Das wird zwar längerer
Foobar schrieb im Beitrag #7383076: [c] > uint8_t slen = sizeof("Time: nn:nn:nn:nnn\n"); > char *TxData = alloca(slen); [/c] Für diesen Fall kann man übrigens auch schreiben: [c] char TxDat[sizeof("Time: nn:nn:nn:nnn\n")]; [/c]
-
Thread
Variablen auf Waveshare-E-Paper anzeigen lassen
Übersicht hätte, wie die Sachen dargestellt werden. Z.B. funktioniert es nicht, wenn ich eingebe: [c] paint.DrawStringAt(30, 30, wert, &Font12, COLORED);[/c] um eine Variable (wert) auf das E-Paper zu bringen. Manches kann man sich zwar aus den Beispielen zusammenreimen, aber nützlich wäre eine
von Text auf dem Display: [c] paint.DrawStringAt(8, 2, "e-Paper Demo", &Font12, COLORED); [/c] Also ist es /naheliegend/, sich mal die Deklaration der Klasse Paint anzusehen. Am Anfang habe ich auf ein paar #include-Anweisungen
-
Thread
STM32Cubeide strstr
UART anzubinden. Der Uart läuft im Interrupt und füllt auch das Array. Nun will ich im Arry auf Strings vergleichen: [c] char RxBuffer[32768]={0,}; uint16_t RxBufferIndex=0; bool Wifi_WaitForString(uint32_t TimeOut_ms,uint8_t *result,uint8_t CountOfParameter,...) { /* * It uses the CountOfParameter
timeout return false; } int main(void) { uint8_t result = 0; init(); Wifi_WaitForString(1, &result, 5, "OK", "ERROR", "Fail", "Stop", "Halt"); printf("result: %i\n", result); } [/c] Mit gcc -Wall -O2 -s str.c -o str compilieren, geht ohne Fehler und Warnungen. Ich habe ein
-
Thread
Funktion: Berechnung WeekOfDay
117 time_zone = 100663296 [/c] Nun soll mit Hilfe der Funktion strftime diese obigen Werete in ein string umgewandlet werden: [c] char buffer[10]; strftime (buffer, 10, "%Y:%m:%d", &DateTime); [/c] Im Buffer steht dann
: > char buffer[10]; > strftime (buffer, 10, "%Y:%m:%d", &DateTime); 10 ist zu kurz für einen C-String. Da ist kein Platz für die '\0'
-
Thread
ESP32 Arduino String Funktion - wo liegt der Fehler?
("UBattAvg = " + String(AvgValues.UBattAvg) + "V") [/c]
0' Zeichen enthalten. [c] String s("test"); s +='\0'; String s2 = s.substring(2); Serial.println(s2.length()); [/c] liefert Länge = 3, die 0x00 ist im String s und Substring s2 enthalten.
-
Thread
STM32 UART Interrupt Rx, Tx, FreeRTOS
} /* USER CODE END Start } [/c]
Harry L. schrieb im Beitrag #7379217: > Schau dir meinen Code mal an! [c] * UART API-Fuctions * UART Iterrupt-Handlers * define size of RX- and TX-Buffer and allocate them * Init and start the UART-system // End of Line Char (valid in string- and data-mode
-
Thread
Spannungsbegrenzung PV Anlage
die Spannungsgrenzen des Wechselrichters "austestet". Zwischen den Spannungsangaben für NOCT bei 25°C und Minusgraden sind locker 20% Spannungserhöhung drin. Die Erhöhung ist exakt für jedes Modul/String vorher berechenbar und fast ausschließlich temperaturabhängig. Das kann über die Grenzen der Belastbarkeit des WR hinausgehen und das wird ggf. teuer. Natürlich läßt der Solateur einfach ein Panel im String weg und bleibt so immer unter der Grenze. Das müßte doch anders gehen: Ein kleiner mechanischer Temperaturschalter schließt unter z.B. 5°C den Steuerkreis eines Thyristors der durchschaltet und
-
Thread
Fehlerhafte Adressierung von lokalen Arrays bei tinyAVR(R) 0-series
Wann wird die > Schleife beendet? Danke.void uart_puts_rom(const uint8_t *dataPtr) > { > uint8_t c; > for (c=pgm_read_byte(dataPtr); c; ++dataPtr, c=pgm_read_byte(dataPtr)) > uart_putchar(c); > } Zum Einen ging es hier nie darum, einen String aus dem Flashrom anzuzeigen, denn dieses funktionierte
==> ist etwas 0, wenn ja dann, wenn nicht, dann... In meiner Schleife wurde in die Variable c eben ein Zeichen des Strings eingelesen. Bei den Strings in C handelt es sich (meistens) um sogenannte Ascii-Zero Strings. D.h. das Ende eines Strings wird mit einem Char mit dem Wert 0 markiert. Steht
-
Thread
Kennziffer berechnen für Akku Vollladung - möglich?
arbeiten geht und eh alles aus ist. Auch wenn sich mein Stromzaehler noch rückwärts dreht, also ca 80c / Tag "einspielt".
Das liefert übrigens ChatGPT, dsas wohl beste KI Programm der Welt: Frage: warum wird ein string-wechselrichter zerstört, wenn man den stecker aus der steckdose zieht? Ein String-Wechselrichter wandelt den Gleichstrom, der von den Solarmodulen produziert wird, in Wechselstrom um, der in das
-
Thread
Datei unter Linux entfernen?
Ganz einfach mit > sudo rm -- '-L-.-..log' Und für die ganz Ängstlichen noch in 'Interactive': [c]sudo rm -i -- '-L-.-..log'[/c]
'-L-.-..log' entfernen? y ~/tmp/x$ ls -l insgesamt 0 ~/tmp/x$[/c]
-
Thread
__date__ und __time__ und source_date_epoch?
TIME so umbauen würde, dass der Linker die aktuellen Werte einsetzen könnte. Aber das sind nun mal String-Konstanten. So eine Quelltextdatei sollte aber nicht vom Script erzeugt werden, ein touch reicht auch. "touch -d@$SOURCE_DATE_EPOCH version.c" muss ja sowieso gemacht werden, sonst hätte version.c
)[/c]und schließlich:[c]// version.c #include <time.h> time_t source_date_epoch (void) { time_t sde = SOURCE_DATE_EPOCH; return sde; } char * version_string (void) { time_t sde
-
Thread
Sollte man noch #!/binsh schreiben?
Da. Schau mal: https://github.com/Cube9999/vi/blob/master/vax/ex.c [pre] /* ******************************************************************************** * Copyright (c) 1985 AT&T * *
******************************************************************************* */ /* Copyright (c) 1981 Regents of the University of California */ [/pre] https://github.com/Cube9999/vi/blob/master/vax/ex.c
-
Thread
Wie macht man einen malloc() in ARMv7 Assembler?
Project immer ein gewisses Eval-Board voraussetzt. Daher frage ich mal so ins Forum: Wenn ich in C einen malloc() ausführe um z.B. einen Buffer für einen String zu alloziieren, wie schaut sowas im Resultat als Assembler-Code für ARMv7 aus?
Olli Z. schrieb im Beitrag #7367759: > Wenn ich in C einen malloc() ausführe > um z.B. einen Buffer für einen String zu alloziieren, wie schaut sowas > im Resultat als Assembler-Code für ARMv7 aus? Na wie schaut wohl ein Aufruf einer Library-Funktion
-
Thread
Arduino: NTP-Server Timestamp einzelne Infos in Variable speichern
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer1); getLocalTime(&timeinfo); char timeStringBuff[30]; strftime(timeStringBuff, sizeof(timeStringBuff), "%y-%m-%d %H:%M:%S", &timeinfo); Serial.println(timeStringBuff); String datumString = String(timeStringBuff);
Serial.println("---"); Serial.print(&timeinfo, "%S"); Serial.println("---");*/ } [/c]
-
Thread
Parsing expression grammar mit peglib
Unicode" im wxWidgets, bzw gibt es da noch ein paar Fallstricke. Das Problem war versteckt in: [c] const auto db = parser.parse(LoadFile(filename).ToStdString()); [/c] ToStdString() konvertiert in das Systemspezifische Format. Damit parser.parse() richtig funktioniert muss es aber mit UTF8 gefüttert werden. Der saubere Weg ist nun den wxString vor dem ToStdString in UTF8 zu Konvertieren (wxString basiert auf 32bit bzw UTF32): [c] wxString tmCanDatabaseFile::LoadFile(const wxString& filename) { wxString str; do {
-
Thread
String mit RegEx durchsuchen
Ich möchte einen String mit RegEx durchsuchen. Hier möchte ich z.B. beim String: "wecker 80%" ...den String "80" extrahieren. Dafür hätte ich nun diesen Code verwendet: .*([0-9]{1,3})%.* Die {1,3} verwende ich, da
Entweder: [c].* ([0-9]{1,3})%.*[/c] oder: [c][^0-9]*([0-9]{1,3})%.*[/c]
-
Thread
PV Strom für Nachtspeicherstrom
langen Betrieb weiterer Pumpen und Lüfter, da die Temperaturdifferenz gering ist und sowieso über 0°C liegen muss, um passiv Wärme in diesen Speicher zu bekommen. Sprich unter 0°C muss ich mir weitere Gedanken machen, wie ich diesen Eisspeicher überhaupt regenerieren kann. Dazu noch 10m³ Wasser -
mit einem Bekannten besprochen. Der hat bei seinen auf 400V verdfrahteten Strings im vergangenen Sommer 580 V gemessen. Das sind immerhin 45% über der Nennspannung. Das könne man nicht direkt auf die Heizelemente geben. Ohne Wechselrichter meit er, gehe es nicht.
-
Thread
Hex zu Dez (BCD) in C
du Daten ein- oder ausgibst, und da zwischen einer String-Repräsentation des Wertes und int wandeln musst. Das machen scanf/printf für dich. Mit den Strings kannst du dann aber nicht rechnen. Oliver
Hex- oder Dezimalzahl ist eine Umwandlung (Konvertierung?) in einen String von ASCII- oder Unicodezeichen und beeinflußt das im Rechner gespeicherte Bitmuster in keiner Weise, solange man in der C-Welt bleibt. In Programmiersprachen, die auch mit Strings rechnen, gilt das
-
Thread
AVR128DA28 Temperatursensor
adc->result = adc->temp - 273; adc->ready = 1; adc->count = 0; } } }[/c] Aufruf im main() [c] static Adc adc = { 0 }; adc_init(); while(1) { if(adc.ready) { uart_string(calca32(adc.result)); //Convertierung Int zu String, Ausgabe 2047 uart_string
Sind 45C umgerechnet. Indoor bei 24C kann das vielleicht schon Sinn machen aber Outdoor bei 0C kann ich mir das irgendwie nicht vorstellen.
-
Thread
ungenutztes Bitfeld (struct) mit 0 initialisiert oder undefiniert?
Der C99-Standard schreibt in Abschnitt 6.7.8 „ 21 If there are fewer initializers in a brace-enclosed list than there are elements or members of an aggregate, or fewer characters in a string literal used
im Register beschreibt, aber ich möchte das gerne definiert mit > 0 schreiben. Wenn du deiner C-Implementierung nicht traust, oder nur in so etwas ähnlichem wie C programmierst, das nichts mit dem C-Standard zu tun hat, dann gib dem unbenannten Element halt einen Namen, und weise dem die 0 explizit
-
Thread
Eine Zahl in Einsen convertieren
ProgSprachen hier nur eine allgemeine Beschreibung: a) erforderliche Anzahl von Einsen aus einem String oder Char-Array "herausschneiden" b) mit gleicher Methodik die führenden Nullen auffüllen c) fertig Keine Schleifen, keine "höhere" Mathematik, im Idealfall nur zwei Befehle ...
auffüllen" ... Oh, FPGA - dann hast du natürlich recht, hatte ich nicht gelesen, dachte, es geht um C, C++, Java, Basic, Python ... Hab' den Beitrag über "Forum" allgemein gefunden, nicht die Sparte dazu wahrgenommen.
-
Thread
Arduino: invalid conversion from 'const char*' to 'int' [-fpermissive]
Du deklarierst die Funktion wie folgt: [c]int BIT_Zeit (int LOW_Zeit)[/c] (also Rückgabewert "int") Hast aber in der besagten Zeile ein [c]return "";[/c] drin, und das wird nun mal als "const char *" interpretiert. Was willst du in
: > macro BIT > ______________________________________ > #define BIT(nr) (1UL << (nr)) Nö: [c] int BIT = -1; [/c]
-
Thread
icsp nano mysmartusblight
done. Thank you. [/c] es kommt erst nach tausendfachem testen [c] >>>: avrdude -c stk500 -p m328p -P /dev/ttyUSB0 -U flash:w:"/home/...tloader/optiboot_atmega328.hex":a _SUCCESSUC: _READHFUSE _SUCCESSUC: _READLFUSE _SUCCESSUC: _READEFUSE [/c] Wenn ich etwas flashen will kommt [c] avrdude: ser_open(): can't open device "/dev/ttyUSB0": Input/output error avrdude done. Thank you.[/c] Nano: [c] 16440] usb 1-9.3.1: new full-speed
-
Thread
HTML code not working on Ipad
Ofensichtlich funktioniert Deine SW einigermassen. Einziger Punkt (aber das koennen meine fehlenden C++-Faehigkeiten sein): [c] String createWebPage(){ String page = "<h1>Solar-Pumpe</h1><p>Temperatur oben: "; ... return page; [/c] Wuerde das nicht ein Speicherleck produzieren? Aber meine
ich auch nirgendwo erkennen. Vor allem das kommt mir auch komisch vor. Versuche mal das hier: [c] String createWebPage(){ String page = "HTTP/1.0 200 OK\r\n" "Content-Type: text/html\r\n" "\r\n" "<h1>Hello World!</h1>" ; return page; } [/c]
-
Thread
Etiketten Druck; Hilfreiches Software Tool GESUCHT
a TIFF file -tiffcompression <string> : set TIFF compression: none, packbits, jpeg, lzw, deflate -freetype <string> : enable FreeType font rasterizer: yes, no -thinlinemode <string> : set thin line mode: none, solid, shape. Default: none -aa <string> : enable font anti-aliasing: yes, no -aaVector <string> : enable vector anti-aliasing: yes, no -opw <string> : owner
-
Thread
ESP Temperaturmodul mit DS18B20 und Web-Ansicht
; if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { String payload = http.getString(); Serial.println(payload); } } else { Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
Ist das die richtung für meinen openwrt $15 xiaomi 4C router? uHTTPD, SQLite und php? Das ding hat keine sd-karte, müsste alles im ram speichern. NoGo?