-
Thread
Strings mit AVR - aber richtig
Serial.println(FlashStr(roman)); Serial.println((FlashStr)roman); Serial.println((__FlashStringHelper *)roman); } void loop() { }[/c]
Wenn der String [c] const __flash char BUILDTIME[] = {__DATE__ " " __TIME__}; [/c] und die Ausgabefunktion [c] void send_byte_usart0(u8 c) { while(!(UCSR2A&_BV(UDRE2))); //Uart not ready UDR2 = c; /
-
Thread
SML Message von Stromzähler
77 07 01 0d 0a 77 76 7c 89 2d 01 01 01 63 39 93 0d 0a 08 1c 50 62 0d 0a 01 c7 60 3b 01 77 07 01 0d 0a 4c 1b bf a3 c0 c7 61 f7 2b 45 1f 6b 7c b4 b5 d6 7d ae 94 eb 7b e2 e9 fb 77 76 7c 89 2d 01 01 01 63 f5 64 0d 0a 5e c7 0b 09
hinten die Escape Sequenzen 1b 1b 1b 1b -SML Start ist mit 01 01 01 01 gekennzeichnet -81 81 c7 82 03 ff hat glaub ich was mit der Zählerkennung zu tun -Notepad++ zeigt mir in der Zeichenansicht öfter mal den String "EMH" an -die Sequenzen "77 07 01" sollten laut Doku eigentlich auslesbare
-
Thread
LCD Display Ansteuerung mit Atmega169P
LCDDR0 = 0x02; beschreiben um das Segment anzusteuern reicht. Vielen Dank für eure Hilfe. [c] /* * Atmega169_Display_Ansteuerung.c * * Created: 13.01.2023 15:34:51 * Author : */ #include <avr/io.h> #include "avr/io.h" #include "avr/interrupt.h" #include "avr/wdt.h" #include
LCD_update(); void LCD_update(); void LCD_update(); while (1) { } } [/c]
-
Thread
STM32L051 UART transmit
gefunden --> Text wurde vollstaendig ausgegeben { outString = saveString; // Neu: Urspruenglichen Text wiederherstellen USART2->CR1 &= ~USART_CR1_TXEIE; } } }
C) anbietet, wo dann je nach Bedarf ein > String_Out(...) oder ein Long_Out(...) oder ein Float_Out(...) aufsetzen > können. Eben je nachdem, was man tatsächlich braucht. Mit dem Ansatz gehe ich
-
Thread
avrdude: AVR IJTAG MKII
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "/opt/arduino-1.8.13/hardware/tools/avr/etc/avrdude.conf"
Ich habs: mit -c jtag2isp funktioniert das Teil. Danke für die Unterstützung.
-
Thread
VFD Ansteuerung mit STM8
c-hater schrieb im Beitrag #7323608: > Ist sein Projekt > und er selber hat sich aus unerfindlichen Gründen für STM8 > entschieden... Naja, vielleicht hat er noch ne Tüte davon in seiner Bastelkiste
Umweg für wenig Nutzen. Wieviel einfacher und auch geradliniger ist es, etwa sowas zu schreiben: [c] #define StrobePin 6 void Strobe_low (void) { GPIOD_BRR = 1<<StrobePin; } void Strobe_high (void) { GPIOD_BSRR = 1<<StrobePin; } ... usw. [/c] Ich habe hier mit BRR und BSRR etwas aus
-
Thread
unbekannter AC Stecker PV Inverter
Mitgeliefert wurde folgender Stecker (s. Bilder). Der Name "DEVALAN" taucht in Verbindung mit PV DC-String Steckern auf aber sonst habe ich nichts finden können, ob das ein Hersteller, eine Norm oder ein Markenname ist. Der Stecker hat einen Bajonett Verschluss, um diesen mit dem Wechselrichter zu verbinden
Growatt-AC-Stecker-fuer-Wechselrichter-Inverter-Zubehoer-fuer-Solaranlage-PV_1?gclid=Cj0KCQiA8aOeBhCWARIsANRFrQE43j9pFsLWPDyDSRF3rIcC5T0ZoMiNDhSfXdig70Eeng59loDZbDoaAtETEALw_wcB
-
Thread
Algorithmus zur Auswahl n aus m mit Wiederholung
= (i+1)! https://stackoverflow.com/questions/50132863/is-there-any-built-in-factorial-function-in-c/50134255 math.h https://en.cppreference.com/w/c/numeric/math/tgamma
= _generate_permutations(m, n-1) if n > 1 else m results = set() # hash-based set of strings for remainder in substrings: for letter in m: candidate = remainder + letter # new string candidate_sorted = "".join(sorted(remainder + letter)) # sort new
-
Thread
Atmega Uart - Falsche Byte Übertragung
0x05; // Baudrate festlegen UBRRH=0x00; // Baudrate festlegen } int uart_send(unsigned char c) { while (!(UCSRA & (1<<UDRE))) { // mach nichts } //senden UDR=c; return 0; } void uart_write(char *s) { while(*s) { uart_send(*s); s++; } } int
auskommentiert ist: Bitte denk über diese Zeile noch einmal intensiv nach. Die NULL am Ende des Strings setzt der Compiler automatisch. Am Anfang des Strings bewirkt sie ein vorzeitiges Ende.
-
Thread
Zähl-Algorithmus
Kombinationen mit 6 und 2 in den ersten Feldern auszugeben. Damit kann die Ausgabefunktion mit dem String "6202", "6211" und weiteren bedient werden.
dev/null 563853888 Kombinationen gefunden real 0m25,337s user 0m24,594s sys 0m0,737s [/c]
-
Thread
C# Listen in Excel übertragen mit Performance-Probleme
ConvertToDataTable(datenWire); // Legen Sie den Pfad und Dateinamen für die Excel-Datei fest string path = @"C:\temp\ExcelFile.xlsx"; // Schreiben Sie die DataTable in die Excel-Datei dt.WriteXml(path); [/code] Alternativ kannst Du auch die OpenXML Bibliothek oder die Interop Bibliothek
vorherigen Problem. Ich habe jetzt die .xlsx Datei durch ein .csv Dateiformat ersetzt und nutze die string.join() Methode um die mehrdimensionale Liste Zeilenweise auszugeben: [c] foreach (var list in datenWire) { sw.WriteLine(string.Join(";", list)); }[/c] Viele Grüße
-
Thread
Can Bus interface reagiert nicht. Was mache ich falsch?
can0 000C0300 [2] 00 00 can0 000C0300 [2] 00 00 can0 000C0300 [2] 00 00 can0 000C0200 [3] 00 00 01 can0 000C0300 [2] 00 00 can0 000C0200 [3] 00 00 01 can0 000C0300
: |- std::string b(x.begin(), x.end()); ESP_LOGD("main", "Received: %s", &b[0]); [/code] die can id habe ich gerade zwischenzeitlich auch mal in 0x000C01FF geändert statt 03, als Controller to Charger
-
Thread
C# mehrdimensionale Listen in Excel übertragen
private void BtnOpen_Click(object sender, RoutedEventArgs e) { var fileContent = string.Empty; var filePath = string.Empty; OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = "c:\\"; openFileDialog.Filter
(XmlNode table in cTables) { // tableType in Variable speichern string tableType = table.Attributes["TableType"].Value;
-
Thread
Arduino-Function merkwürdig
if(!fnd && sum>=200){sum -=200;c2++; fnd=true;} if(!fnd && sum>=100){sum -=100;c1++; fnd=true;} if(!fnd && sum>=50){sum -=50; c5++; fnd=true;} } ret = String(c2)+"."+String(c1)+"."+String(c5); } return
!fnd && sum>=50){sum -=50; c5++; fnd=true;} } ret = to_string(c2)+"."+to_string(c1)+"."+to_string(c5); } return ret+"."+to_string(mod); } int main() { cout<<mk4_sumout(1050); return 0; } [/c
-
Thread
MQTT mit thingg.io auf ESP8266
trying again in 5 seconds"); // Wait 5 seconds before retrying delay(5000); } } } String message(byte* payload, unsigned int length) { payload[length] = '\0'; String s = String((char*)payload); return s; } void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Updating value to "); Serial.println(val); delay(250); } delay(50); } [/c]
-
Thread
Windrichtungserkennung mit Hall Sensor
(a); Serial.println(" Grad"); [/c]
vect_imag, vect_real); > wind_dir=(int)(dir_rad/M_PI*180.0); Verstehe ich noch nicht ganz, was ist [c]*M_PI[/c] ?
-
Artikel
AVR-GCC-Codeoptimierung
ohne weiteres Zutun nur als temporäre Datei angelegt wird, abspeichern. Etwa für die Quelldatei foo.c: avr-gcc -save-temps foo.c -c ... Die Assembler-Datei wird damit als foo.s angelegt und nicht gelöscht. (Das ebenfalls angelegte Präcompilat foo.i wird nicht benötigt). Für jede Funktion gibt avr-gcc
Your C Code for 8-bit AVR Microcontrollers (Beispiel-Code)
-
Thread
ESP32 Bluetooth Win10 Python
); } bool BluetoothSerial::connected(int timeout) { return waitForConnect(timeout); } [/c] In der aktuellen Version: [c] static bool waitForConnect(int timeout) { TickType_t xTicksToWait = timeout / portTICK_PERIOD_MS; // wait for connected or closed EventBits_t rc = xEventGroupWaitBits
false; } bool BluetoothSerial::connected(int timeout) { return waitForConnect(timeout); } [/c] Siehe auch https://www.freertos.org/xEventGroupWaitBits.html Offenbar wurde früher das Event SPP_CLOSED noch nicht ausgewertet.
-
Thread
Sprachen Ranking
Hallo, hatte nicht jemand das Ende von C/C++ vorhergesagt bzw. vorhersagen wollen? Irgendwie gehts der Sprache zusammen mit Python prächtig. https://www.heise.de/news/Tiobe-C-ist-Programmiersprache-des-Jahres-2022-7456000.html
Veit D. schrieb im Beitrag #7313535: > hatte nicht jemand das Ende von C/C++ vorhergesagt bzw. vorhersagen > wollen? Es gibt immer jemanden, der das Ende von irgendwas vorhersagt. Aber ich schätze mal, dass so starke und verbreitete Sprachen wie C/C++ oder Python nicht
-
Thread
std::queue auf dem ESP32
ich lerne gerade C++ mithilfe eines ESP32 Projekts, keine nennenswerten C-Kenntnisse, daher Anfängerfrage: In meinem Projekt habe ich eine std::queue um einen asynchronen event bus (oder command queue wenn man will)
hatten. Dass das bei einem ESP32 wohl nicht mehr so allgemein gilt macht wohl folgendes deutlich: [c] ╭─vinci@garuda in ~/esp-idf took 2ms ╰─λ grep -r "malloc" | wc -l 3741 [/c]
-
Thread
FT813 / BRT815 Display-Controller Sonderzeichen
MCU getestet... - ATSAM**C**21J18A, zusammen mit MA813A-WH50C - ATSAM**D**21J18A, zusammen mit MA813A-WH50C (SAMD21 Xplained Pro-Board) - ATSAMD51J18A mit BT815, Evervision VGG804838 mit cap.-touch (EVE3_50G) (Wenn ich mich
#7310526: > Deine Library wurde im Laufe dieses Projektes auf folgenden MCU > getestet... > - ATSAM**C**21J18A, zusammen mit MA813A-WH50C > - ATSAM**D**21J18A, zusammen mit MA813A-WH50C (SAMD21 Xplained > Pro-Board) Oh, hast Du den D21 über das C21 Target benutzt? Das habe ich noch gar nicht geprüft
-
Thread
1 Befehl pro Zyklus
das D. und das S. weglaesst, bleibt ein P. uebrig. Es ist sicherlich ein wenig dekadent seine Strings in etwas groessere :) Wortbreiten zu packen. Aber es geht auch! Ich habe es probiert.
: > Ein Takt per Befehl ist ein alter Hut. > Das konnten die DSPs schon lange bevor jemand R.I.S.C. > ueberhaupt buchstabieren konnte. Erster DSP: TMS 5100, 1978 Erster RISC: IBM 801, 1974
-
Artikel
AVR-GCC-Tutorial/LCD-Ansteuerung
weitere Datei ist die Includedatei lcd-routines.h notwendig, die im Hauptprogramm und in lcd-routines.c eingebunden wird. Die Anpassung der Pinbelegung etc. macht man in dieser Datei. Datei lcd-routines.h. Datei lcd-routines.c:. LCD Beispiel 1. Ein Hauptprogramm, welches die LCD Funktionen benutzt, sieht
nteger To A scii ) wird von einem Zahlenwert eine textuelle Repräsentierung ermittelt (sprich: ein String erzeugt) und dieser String mit der bereits vorhandenen Funktion lcd_string ausgegeben. Das Einrichten des Projekts ist wie in Beispiel 1. Siehe auch. Erweiterte LCD-Ansteuerung Pseudo-Graphische LCD-Ansteuerung
-
Thread
Excel speichert nicht mehr, vernichtet stattdessen neue Daten
Carypt C. schrieb im Beitrag #7307780: > was mir bei notepad++ mal übelst aufgestoßen ist, war daß speichern > bedeutet speichern unter dem gleichen namen am gleichen ort anstelle der > originaldatei, anstatt
Carypt C. schrieb im Beitrag #7307780: > was mir bei notepad++ mal übelst aufgestoßen ist, war daß speichern > bedeutet speichern unter dem gleichen namen am gleichen ort anstelle der > originaldatei, das
-
Thread
USB - SPI Adapter
Zeit eine auf diese Art per PIC gebaute USB-Platine für allerlei Interfaces, von Pins über SPI bis I2C uvam. http://dangerousprototypes.com/docs/Bus_Pirate
Der Bus Pirate wird via USB als serielle Schnittstelle angesprochen, mit ASCII-String als Kommandosprache. Kann man zu Fuss per Terminal-Emulator ausprobieren. http://dangerousprototypes.com/docs/SPI
-
Thread
Detailfrage RTC DS3231
auch die automatische Berechnung des Wochentages... Darfst du ja machen, in dem angeschlossenen µC.
https://wiki.freitagsrunde.org/C-Kurs/Wochentag/Musterl%C3%B6sung sieht irgendwie scheiße aus :-) Ich schaue mich hier: https://www.mikrocontroller.net/topic/144905 mal um
-
Thread
Hex to Dec -> C
als int mit Wert 84[Dec] was einer 54[Hex] entspricht. Ah ok, also BCD. Wie wäre es so? [c]OutVal = (BCDVal >> 4) * 10 + (BCDVal & 0x0F);[/c]
michael_ schrieb im Beitrag #7307094: > Selbst in Assembler genügen da weniger als 10 Zeilen. in C reicht: [c] x-=(x/16)*6; [/c] für den TO, wenn der Wert in x bleibt
-
Thread
Software Version im Flash immer an die selbe Stelle packen
z.B. beim gcc am Flash-Ende im Linker-Script eine Region definieren und dort dann seinen Version-String platzieren. Hängt vom uC ab, manche (alte) platzieren dort z.B. Vektoren.
beim gcc am Flash-Ende im Linker-Script eine > Region > definieren und dort dann seinen Version-String platzieren. Hängt vom uC > ab, manche (alte) platzieren dort z.B. Vektoren. Sorry ich habe ganz vergessen zu erwähnen das ich AtMegas im Einsatz habe. Habt Ihr ein Beispiel wie ich eine solche
-
Thread
MSVC 19 broken
mich wundern, wenn der MSVC '-O1' versteht ;) Ist kein Problem, der MSVC versteht auch -O2 und -c :-) Das mit den Strings ist aber wirklich ein Bug, der in allen Versionen drinnen ist. Meine Vermutung: der MSVC macht eine Checksumme über die Strings, und es gibt eine gewisse Wahrscheinlichkeit
wundern, wenn der MSVC '-O1' versteht ;) > > Ist kein Problem, der MSVC versteht auch -O2 und -c :-) > > Das mit den Strings ist aber wirklich ein Bug, der in allen Versionen > drinnen ist. > Meine Vermutung: der MSVC macht eine Checksumme über die Strings, > und es gibt eine gewisse Wahrscheinlichkeit