-
Thread
Wie High-Power LED am effizientesten betreiben?
/www.maximintegrated.com/en/products/power/led-drivers.html/tab1?fam=led_drivers&hide=1354&1078=1%7C1
www.elektronik-kompendium.de/sites/slt/0206161.htm https://www.bastelnmitelektronik.de/basteleien-ger%C3%A4te-und-schaltungen/schaltungen-mit-dem-ne555/spannungswandler-verdoppler/
-
Thread
Probleme beim Flashen vom ESP32
U15 und U17 sind vertauscht. C21 und C22 sind def. falsch angebracht.
(123, "111"); void sendCan(uint64_t id, String action) { CAN.beginExtendedPacket(id); for(int i = 0; i < 8; i++) { if(action[i] != 0x00) CAN.write(action[i]); } CAN.endPacket(); } [/c] der Code ist weitesgehend
-
Thread
STM32 HAL UART Mysterium oder bin ich dumm?
Man sollte auf Controllern auch nicht Null-terminierte C-Strings verwenden, sondern besser Pascal Strings, welche die Laenge zuerst haben. Die haben ausschliesslich Vorteile.
W.S. schrieb im Beitrag #6856614: > Wie lange Strings willst du denn auf deinem µC machen? Auf jeden Fall kommen auch auf relativ kleinen µC recht häufig Strings vor, die länger als 255 Zeichen sind.
-
Thread
Mikrocontroller: Funktion strstr
Guten Morgen, in meiner C Applikation benötige ich die Funktion strstr um ein Wort herauszufinden ob es in dem string vorkommt oder nicht. [c] static char* ptr; ptr = strstr(rxBuffer, "OK"); if(strcmp(ptr,"OK\r\n")) { // tue irgendwas } [/c] Im string kommt das Wort OK vor aber strcmp funktioniert nicht. Der Pointer ptr enthält die Zeichenkette "OK\r\n".
-
Thread
Attribute used im gcc
oslib=semihost --crt0=hosted -Wl,-Tsifive-e31.ld -c -MMD -MP -MF"./build/src/main.d" -MT"./build/src/main.d" -c -o "./build/src/main.o" "src/main.c" $ riscv32-unknown-elf-gcc -flto -Wl,-Map,"./build/citest.map" -march=rv32imac -mabi=ilp32 -specs=picolibc.specs
more 0x0000000020012090 list 0x000000002001209c list_ref .rodata.list.2-end 0x000000002001209c 0x0 ./build/src/main.o 0x000000002001209c list_end[/pre] Dann läuft es auch.
-
Thread
Bascom: atmega8-16pu verhält sich anders als atmega8-8pu
'Baudrate (Übertragungsgeschwindigkeit) Baud = 9800 dim z as integer dim result as String * 8 dim bit8,bit7,bit6,bit5,bit4,bit3,bit2,bit1 as integer Config PortB.0 = Input ' Decimal or Hex Mode '8 Bit Data Input Config Portc.5 = Input Config Portc.4 = Input Config Portc.3 =
Sub Tm1637_disp(byval Bdispdata As Word) Local Bcounter As Byte Local Strdisp As String * 5 Strdisp = Str(bdispdata) Strdisp = Format(strdisp , " ") Tm1637_start Tm1637_wrbyte &H40 'autoincrement adress mode Tm1637_ack
-
Thread
Wie werden Bilder in JPG Format mit PN verschickt?
0000001A0: 65 5B 85 8B 81 85 7B 21 29 98 67 A9 6B 94 B9 49 e[…‹ …{!)˜g©k”¹I 0000001B0: 65 4F B9 C8 85 29 11 4B 81 2A F0 7A D9 F2 3C 80 eO¹È…).K *ðzÙò<€ 0000001C0: 7E 55 BE 0D F6 62 A1 40 CC E8 E6 9A 3D 5C B7 43 ~U¾.öb¡@Ìèæš=\·C 0000001D0: B3 D7 7A 65 58 B1 D9 51 21 88 BF 64 B8 D3 F1 C3 ³×zeX±ÙQ!ˆ¿d¸Óñà 0000001E0: 68 04 29 C0 D0 FE BB 3C 02 E0 3C 54 07 B4 BD D9 h.)ÀÐþ»<.à<T.´½Ù 0000001F0: 7B 54 E6 27 FB 6E DF 94 60 14 82 62 13 8D B8 52 {Tæ'ûnß”`.‚b. ¸R 000000200: 98 28 37 05 89 72 79 60 E4 32 89 6F C3 82 8E A7 ˜(7.‰ry
-
Thread
6kW LED Leuchte 1µs pulsen
nicht der einzige der diese Idee hatte :D Naja, ich habe wenigstens noch einen Vorwiderstand je String vorgesehen, und die LEDs in einzelne Strings unterteilt... ;)
Simulation klappt das ja ziemlich gut die 16A / Modul zu schalten. Ist es schlauer pro Modul nur 1x C und 1x BJT zu verwenden oder lieber 8x C und 8xBJT pro LED Kette jeweils einen? Der Strom durch BJT und C ist natürlich kleiner, ich hab weniger Einfluss durch parasitäre Induktivitäten, gibt es noch
-
Thread
Firebird Datenbank (.fdb) - Datei öffnen u. bearbeiten
----- DatabaseName = 'dbBASE' DriverName = 'INTRBASE' LoginPrompt = False Params.Strings = ( 'user name=surgeon' 'password=knife' 'langdriver=ancyrr' 'server name=c:\xxxxxxx\base.fdb') ------------------------------------------------ Ok, habe nun versucht
------------------ ErrorCode: 335544323 Number: 335544323, Class: 0, Line: 0 ErrorMessage: file C:\USERS\STEFAN\DESKTOP\BASETUNE.FDB is not a valid database ------------------------------------------------------------------------ ... was soll das jetzt bedeuten? Gebe ich 'user name=surgeon
-
Thread
String Leerstellen entfernen und in array umwandeln
Hi, hätte eine Frage: ich habe einen string: string = "Monitor Computer handy" In diesem string sind unterschiedlich viele leerstellen zwischen den elementen. Ich hatte jetzt probiert dies mit dem replace zu trennen. string_ohneleer
string_ohneleer = string.replace(" ", "") <- entfernt ALLE Leerzeichen string_ohneleer = string.replace(" ", " ") <- Lässt eins zwischen den Wörtern stehen. string_ohneleer = string.replace("2_leerzeichen
-
Thread
[STM32] - Wie mehrere MCUs in einem Projekt?
> [/c]
https://arm-software.github.io/CMSIS_5/Core/html/templates_pg.html in meiner system_stm32f4xx.c (die vom CubeMX ins Projekt kopiert wurde), wird [C] #include "stm32f4xx.h" [/C] gemacht ... HTH, Adib.
-
Thread
ATtiny2313A und ESP-12F/M3 UART Problem
while ( !( UCSRA & (1<<UDRE)) ); // Put data into buffer, sends the data UDR = data; }[/c] Habe das ganze auch mal versucht mit einem Puffer zu lösen um [c]while ( !( UCSRA & (1<<UDRE)) );[/c] zu vermeiden, allerdings selbiges Problem. Habe das nur ich oder kämpfen damit andere auch? Der ATtiny hat als FUSE D7(MSB) C4(LSB). Der ESP und ATTiny sind auf 9600B, 8Bit, 1Stop eingestellt. BG Umbrecht
-
Thread
MAX485: empfängt eine Null, die keine ist
MAX485 ist die ganze Zeit im Empfangs-Modus. Aber um die Frage dennoch zu beantworten: [c] #define RS485_3_SND_EN {PORTG |=(1 << 5); _delay_ms(3);} #define RS485_3_RCV_EN {_delay_ms(3); PORTG &= ~(1 << 5);} void uart3_RS485 (char* string){ RS485_3_SND_EN uart3_puts(string);
putc(nextChar); } else { uart3_array[uart3_str_count] = '\0'; strcpy(uart3_string, uart3_array); uart3_str_count = 0; uart3_str_complete = 1; } } } [/c] EDIT: es funktioniert.
-
Thread
Elm chan Fat: Zeichen überschreiben
c-hater schrieb im Beitrag #6850505: >> Wie bekomme ich den Pointer auf den aktuellen Eintrag? > > Durch rechnen und seeken. Soso, seeken. Klingt eher sick . . .
c-hater schrieb im Beitrag #6850505: > Durch rechnen und seeken. Das ist schon klar und auch nicht das Problem. Die Frage wäre gewesen: Funktioniert das bei dieser lib auch über alle Blöcke der Datei
-
Thread
Gnu Assembler Macros
das obige eingefügt und stattdessen den String "test" ausgeben lassen über das Label .KLAUS Das ist als a.c und a.s (mit gcc aus a.c erzeugt, dann wie beschrieben geändert) im Anhang. Also sollten bei dir doch nur die Gänsefüßchen fehlen?
aber bei der Verwendung des Arguments Gänsefüßchen > dazu genommen): > [code] > .macro blabla string > .KLAUS: > .string "\string" > .endm > ... > blabla "test" > ... > [/code] > > Zum Testen habe ich ein kleines C-Programm gemacht, das mit puts() was > ausgibt. > Dann
-
Thread
Verwendung von Serial.readStringUntil
nicht ausgeführt. Dafür ist die Konkrete Klasse/Kapselung zuständig. Im falle der Arduino Strings würde das so aussehen: [c] String buffer = "hallo"; char c; c = buffer.charAt(0) // liefert 'h' c = buffer.charAt(42)// liefert '/0' c = buffer[0] // liefert 'h' c = buffer[4711]// liefert '/0' [/c] Wenn buffer ein C String wäre, würde buffer[42] einen "Zufallswert" liefern, eben das was zufällig an der Stelle im Speicher steht. Peter D. schrieb im Beitrag #6846618: > Ich hab mit C++
-
Thread
Serielle kommunikation in beiden Richtungen
// print the string when a newline arrives: Serial.println(inputString); inputString = ""; // clear the string: stringComplete = false; } } [/c] ESP [c] void setup() { Serial.begin(9600);
jemand weiterhelfen? Danke schonmal im vorraus! Mfg hier der nicht funktioniere ESP code: [c] String inputString = ""; // a String to hold incoming data bool stringComplete = false; // whether the string is complete void setup() { Serial.begin(9600); inputString.reserve(
-
Thread
Wor-Flasher: Windows 10 mit Hardwarezugriff am Raspberry Pi
: [c] async void AsyncWorker() { string i2cDeviceSelector = I2cDevice.GetDeviceSelector(); // string i2cDeviceSelector = SpiDevice.GetDeviceSelector(); IReadOnlyList<DeviceInformation> devices = await DeviceInformation.FindAllAsync(i2cDeviceSelector); string victimList = ""; . . . [/c] Auch hier gilt, dass die Antwort in beiden Fällen“ ja“ lautet-sowohl das Gerät I2C1 als auch sein Kollege SPI1 stehen am zum Test verwendeten
-
Thread
Wechselrichter Hoymiles HM-xxxx 2,4 GhZ Nordic Protokoll?
Hallo Sorbit mit der Arduino IDE und Einstellung Lolin(Wemos) D1 R2 & mini lässt sich zB ein [c]Serial.println(String(serialNr,HEX))[/c] ohne Fehler kompilieren. Ich benutze die IDE 1.8.13, nicht die neueste.
00 00 00 00 00 00 01 0d 00 0b c4 fc 2022-06-20 14:43:35.960403 Decoded: temp=26.9, pf=0.0 phase0=voltage:0.3, current:0.0, power:0.0, frequency:0.0 string0=voltage:0.1, current:0.0, power:0.0, total:0.0, daily:0 string1=voltage:0.1
-
Thread
Datumspalten in CSV umrechnen
Jetzt geht es c-hater gleich wieder viel besser🤣
' mit Datum + Zeit AddString(0, Str$(Int(Round(datum * 86400, 0))) + "," + SubStr$(s, 2, ",")) ' Ausgabe mit kfm. Runden [/c] Wie man sieht, ist das gar nicht viel Schnickschnack, was die Stringfunktionen betrifft.
-
Thread
GPS-Shield-Auswertung über LoraWan und Cayenne
hat UND auch Deinen Compiler nicht stört, liegt schlicht daran, dass ein C++ Compiler die ganze Zeile [c] foo == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : baa, 6; [/c] als "expression has no effect" erkennt und ignoriert. Interessanterweise macht aber weder: [c] foo == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : baa, 6; [/c] noch [c] foo == GPS_INVALID_F_ANGLE ? 0.0 : baa, 6, 8, 9, 42; [/c] einen Syntaxfehler. Mein C++ Compiler prüft das offenbar auch nur kurz auf "kann klappen" - optimiert die Zeile dann aber
-
Thread
AVR warum braucht String RAM?
ernst gemeint da ich mich selten mit Attinys beschäftigt habe, welche sehr begrenzten RAM haben. [c]void uart_string(const char *s)[/c] Rufe ich obige Funktion mit einem String auf, wird dieser im Flash abgelegt und nutzt laut AtmelStudio7 ebenfalls die gleiche Anzahl an Bytes. Bei einem Aufruf
Thadeus Kobisky schrieb im Beitrag #6837594: > [c]void uart_string(const char *s)[/c] > [/code] > Warum wird hier der RAM ebenfalls genutzt obwohl das Schlüsselwort const > benutzt wurde? Bin hier gerade etwas überfragt, warum in einer solchen
-
Thread
esp8266 POST request mit AT-commands
nur dass du ein paar Daten mehr schickst. Ceterum censeo: ich würde die Rollen der beiden µC tauschen, den ESP direkt (z.B. mit Arduino)-Software bespielen, und den Nano, falls denn überhaupt noch notwendig, nur als intelligente IO-Erweiterung nutzen.
Aus Sicht des Mikrocontrollers ist der HTTP POST Request ein String. Auf http://stefanfrings.de/esp8266/index.html#atcommands habe ich beschrieben, wie man Strings mit AT befehlen sendet. Auf der Seite https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST
-
Thread
Daten an ein Nextion-Display senden
gerade mit meinem Nextion herum und habe folgendes Problem. Ich möchte eigentlich nur eine kleine C-Funktion schreiben, mit der ich Strings an verschiedene Textfelder senden kann. Als Parameter möchte ich dabei 1) den Namen des Textfeldes und 2) den Ausgabetext übergeben. Im konkreten Fall (ist nur
"Ht4" wobei "t4" der Name des Textfeldes ist. Als IDE verwende ich Atmel-Studio7 und der uC ist ein Nano(328p). Ich Poste mal wesentliche Teile des Codes: [c] // Variablen für Textfeld am Nextion char func_name[] = ""; char func_txt[] = ""; // Funktion zum Senden von Text an das Nextion-Display
-
Thread
Wie ist der Stromverlauf einer Solarzelle über den Tag?
14400UI OrElse (t > 69060UI AndAlso t <= 86400UI) Then textfile.WriteLine(t.ToString(Eng).PadLeft(10, "0"c) & Tab & 0.0.ToString(Eng)) Else Dim Value As Double = 4.0 * Math.Sin(2 * Math.PI * 1.0 / 54660.0 * t + 177.0 * Math.PI / 180.0) + 4.0 textfile.WriteLine(t.ToString(Eng).PadLeft(10, "0"c) & Tab & Value.ToString(Eng)) End If Next textfile.Close() End Using ButtonStart.BackColor = Color.FromArgb(0, 255
-
Thread
Kennt sich hier jemand mit Zufallszahlen aus?
* This computes the CRC-32C with the reflected Polynomial 0x11EDC6F41, and * not the CRC-32 used by Ethernet and zip. * Uses the Intel SSE 4.2 crc32 asm instruction. * Compile with cl -nologo -W3 -O2 -Ob1 -Oi -GS- -c hashtbl.c
} if (len & 1) crc = _mm_crc32_u8(crc, *(BYTE*)key); return crc; } [/c]
-
Thread
Einen Softcore (AVR) an andere FPGA anpassen?
Funktionert bisher ohne Probleme damit. Einfach "make" tippen und die ganzen Skripte bauen aus dem C-Programm eine Executable.
auch per PN. Ich weiß, dass du auch dieses Sipeed Tang Primer Board hast. :) 6502 hört sich so nach C64 an?
-
Thread
Zeitverzögerung bei serieller Kommunikation
CONTROLLINO_D1, LOW); delay(2000); } while(strVar==0); break; } } [/c]
hier nix nützen. Wie kommst du darauf? Niemand zwingt einen das Arduino Framework zu nuten. ASM, C und C++ stehen zu deiner vollen Verfügung. Sein Arduino Klon/Nachbau ist mit einem ATMega2560 bestückt.
-
Thread
Iterator zugriff auf abgeleitete Klasse
virtual kommt der Compiler nicht auf die Idee, in den Ableitungen nach einer Methode zu suchen. [c] // Time-stamp: "18.09.21 18:30 bestellung.cpp klaus.wachtler@esolutions.de" // // g++ -Wall --std=c++17 bestellung.cpp -o bestellung && ./bestellung #include <iostream> #include <string> #include <list> class Bestellung { public: Bestellung( const std::string &name ) : name( name ) { } virtual void zeigDich() { std::cout << "ich bin eine Bestellung " << name << std::endl; } protected: std::string name; }; class Expressbestellung
-
Thread
Empfehlung für eine Configfile-library gesucht
Hallo, ich bräuchte mal eine Empfehlung für eine Configfile-library unter Linux für C (C++ wäre auch nett aber primär gehts mir um C). Mir sind bislang libconfig und libconfuse über den Weg gelaufen, gibts weitere Empfehlungen, oder auch eine Empfehlung zu einer der beiden Libs? Wichtig
funky schrieb im Beitrag #6820992: > https://uscilab.github.io/cereal/ C nicht C++, Configfile nicht Serializer...
-
Thread
VBA - Arbeitsblatt und Zeile vom Grund der Fehlermeldung
Variable jedoch strenger DIM b as Long dann wird wirklich nur der Wert zurückgegeben. mit DIM b as String kommt zwar eine Zahl im String-Format an, aber die Excel-Formatierung als Datum liefert dann einen Datumsstring und nicht die numerische Zahl als String. Vielen Dank für den Hinweis, dieses Verhalten
= Cells(6, 2).Value Debug.Print Len(a) Debug.Print Len(b) Debug.Print a, b Dim c As Variant c = Range("B6").Value Debug.Print c End Sub Wie soll ich nun mit dem Range-Objekt an den wahren Wert kommen? :)
-
Thread
ESP8266 Serial.find, Serial.read usw..
Handmade Beispiel: [c]int readycount = 0; String inputString = ""; void serialEvent() { while (Serial.available()) { // get the new byte: String suche = "SYN"; char inChar = (char) Serial.read
readycount++; else readycount = 0; if (readycount > 0) inputString += inChar; if (readycount > suche.length() - 1) { match = true } } [/c] Oder sowas, habe ich Mal bei etwas ähnlichem gebaut. https://hackaday.io/project/38134-attiny-rc-switch-to-serial-bridge