-
Thread
Retro Fieber: Z80 oder 68000 ?
Zu den IN/OUT-String Befehlen und dem Carry Flag steht rein zufällig was auf einer Spectrum Seite. Wor sich auch zeigt, dass es nicht sonderlich geschickt ist, sowohl ein Register C als auch ein Flag C zu haben. ;-) http
add string #define mvaddstr_P(y,x,s) move((y),(x)), addstr_P((s)) // move cursor, then add string (PROGMEM) #define mvinsch(y,x,c) move((y),(x)), insch((c))
-
Thread
C Variadische Funktion mit Array
Rolf M. schrieb im Beitrag #5137190: > Dazu gibt's aber auch keinen Weg in Standard-C. Notfalls macht man halt nen LISP-Interpreter in C. ;-)
benötigt, gegebenenfalls Register sichern und widerherstellen, Stack-Alignment beachten, etc.) dass das C-ABI und das Interface der aufzurufenden Funktion beachtet werden. Den Format-String kann man in C erstellen. Das in "reinem C" zu implementieren geht nicht; evtl. kannst du was hacken das mehr oder
-
Thread
abweichung beim zeitmessungsprogramm
warum ich einen Bit-Terminator benötige. Was ist ein Bit-Terminator? > Wenn ich > schreibe string[10] wieviele "Ziffern" kann ich dann in diesem string > speichern? (du schreibst string[11]="000000000" also nur 9 ziffern) klassische C-String Verarbeitung. In einem Array der Länge 10 gibt
mindestens eine Länge von 11 haben. http://www.mikrocontroller.net/articles/FAQ#Wie_funktioniert_String-Verarbeitung_in_C.3F
-
Thread
Bascom ist gut
2x Variablen vom Typ Config_t anzulegen. In Bascom??? [c] typedef struct Config { uint8_t var1; uint16_t var2; char[10] string; uint16_t[15] varArray; } Config_t; Config_t config1; Config_t config2; [/c] > Die andere Sache, das musst
at ausgabearray(1)+3 dim stringausgabe as string*5 at ausgabearray(1)+7 dim wordvariable as word at ausgabearray(1)+12 etc. [/c] ich verwende sowas bei nem Modbusbrotokoll
-
Thread
C#: char array size im Laufzeit setzen
onelinecharidx++; // Convert the single value of char into one single string onedoublestring = new string(onedoublechar); // Put the single string into data buffer of one dimmension array that contain
dir noch viel mehr sparen, wenn du in Erwägung ziehen würdest, dir in der nächsten Buchhandlung ein C# Buch zu kaufen.
-
Thread
Atmega324 UART: Senden vom PC zum µC klappt nicht
UBRR_VAL & 0xFF; UCSR0B = (1<<RXCIE0)|(1<<RXEN0)|(1<<TXEN0); //8data 2stop bit UCSR0C = (1<<USBS0)|(3<<UCSZ00); } [/c] Interrupt [c] volatile uint8_t uart_string_complete = 0; volatile uint8_t uart_string_count = 0; volatile char uart_string[UART_MAX_STRING_LENGTH + 1] = "";
= 1; } if(finishString == 1) { uart_string[uart_string_count] = '\0'; uart_string_count = 0; uart_string_complete = 1; } } } [/c] Selbst wenn ich bei jedem Interrupt uart_string_complete
-
Thread
C# - LISTVIEW
Also normalerweise sind die Dinge mit dem Visual Studio und C# nicht komplizierter zu lösen als mit den Borland Tools. Also mir ist mal was aufgefallen, dass gar nicht gut ist: if (listView1.Items[i].Text == message.ToString("x")) Strings sind in C# referenztypen
Sorry, kleiner Fehlerteufel. Bei String.Compare kommt 0 raus wenn die strings gleich sind. Also für Dein Programm: if (String.Compare(listView1.Items[i].Text, message.ToString("x") == 0)
-
Thread
-
Thread
C-Struktur, unklares Verständniss - ben. Hilfe!
C. L. schrieb im Beitrag #3929177: > Diese wird dann aufgerufen in der MAIN mit: > [c] > LCDWriteStringROM(0,0,*menu[1].text,0); > [/c] > Der Stern muss weg. Der hat da nichts zu suchen. menu
ist [c] void foo( const char* str ) { size_z i = strlen( str ); } [/c] absolut korrekt. Ein Stern wäre hier völlig falsch. > da string übergeben werden muss. Einen string kannst du prinzipiell
-
Thread
C# Bootloader, Datenübertragung
Ich habe die Tage die Anleitung AVR Bootloader in C ausprobiert, und mußte feststellen das die Anwendung zum übertragen des Anwendungscodes (Putty) unter Windows 7 nicht\nicht mehr funktioniert. http://www.mikrocontroller.net/articles/AVR_Bootloader_in_C
in einen neuen Speicherbereich kopiert und der alte vom GC freigegeben werden muss. Dafür gibt’s in C# den StringBuilder. [code] // wieder pseudocode StringBuilder complete = new StringBuilder(); string hilfsstring = ""; for (1 bis 1000){ hilfsstring = irgendwas(); complete.Add(hilfsstring
-
Thread
String empfangen
++]=c; if(c=='\r') break; } for(i=0;i<strlen(string);i++) { printf("%c",string[i]); } strcpy(string,""); } return(0); }
Valdiz schrieb: > while(inportb(com+5)&1) //Zeichen empfangen? > { > c=inportb(com); > string[i++]=c; > if(c=='\r') break; > } > > for(i=0;i<strlen(string);i++) > { > printf("%c",string[i]); > } > strcpy(string,"");
-
Thread
C# probleme: String & if& operatoren
http://www.mikrocontroller.net/topic/137398#1256868 Zweitens hab ich nun folgendes Problem: [c]String SerPortGeneral; String StringZone1; int WertZone1; if (SerPortGeneral[0] == "Z") { if (SerPortGeneral[1] == "1") { StringZone1
); } { [/c] Das funktioniert in C# nicht aber ich weis nicht wieso bzw. wie man das sonst machen kann. Denn mit den [] kann man doch auf die einzelnen elemente von Strings zugreifen oder etwa nicht? Der
-
Thread
String^ nach char*
String^ ist KEIN C++-Datentyp. "Managed C++" ist eine von Microsoft verbrochene Perversion, um C++ und das .Net-Geraffel miteinander zu verwurschteln. Mit C++ hat das nur noch den Namen gemein.
String^ ist eine Referenz auf einen String in C++/CLI (neu seit VS 2005). Würde mal im Microsoft Forum danach fragen.
-
Thread
LCD Library T6963c
Hello All Can any one share us T6963C C library for dsPIC (MikroC dsPIC) because the one supported with the Compiler isn't flexible with dsPIC30F4011 Thank you
Schreibst du in C?
-
Thread
Zeichen einem String hinzufügen
Claudio H. wrote: > Aber dieses "schreiben" meinst du ja von hand.... Hä? Hat der µC eine Hand? > aber ich will das die Software das Empfangene zeichen (über uart) dem > string hinzufügt.... Das musst Du dem µC aber auch sagen. Und deshalb musst Du ein Programm schreiben, dass ein
den unpraktischen C- strings ist hinten eine Null. Die muss man dann auch neu schreiben. Bei den bequemeren Pascal strings ist das nullte byte die Laenge. Dann passt man die an.
-
Thread
c# Werte automatisch aufeinander anpassen
. Kann ich eine Funktion, denn hier verwenden [c]int ichar; public int iCHAR {get{return ichar;} set{ichar = value; Funktion();} }[/c] Ich habe bereits eine Funktion geschrieben, aber das hat nicht funktioniert. [c]void stringChanged()
[c] public void stringChange(string value) { schars = value; cchars = schars.ToCharArray(); ichars = new int[cchars.Length]; int i = 0
-
Thread
String leeren
Ich leere den String jetzt nach dem ; so: [c] while(*posteingang) { *posteingang='\0'; posteingang++; } [/c] Geht das besser ? pirat
( string, sizeof( string ), 'c' ); } [/C]
-
Thread
JAVA - In best. Zeile schreiben
werden nicht initialisiert. Also ist das das normalste der Welt. ps. Les dir die Grundlagen zu Strings in deinem Java Buch genau durch. Das ist WICHTIG und ein Unterschied zu C C++;
testen aber ich übergebe in der main folgendes: [java] System.out.println(readData(4,1,"C://Users//501999277//Desktop//database//Sensoren.txt")); [/java] Logische Fehlermeldung: argument java.lang.String cannot be converted to java.io.File file ist doch ein Objekt der Klasse File.
-
Thread
UART String einlesen
ab. } } [/c] Wie gesagt will ich einen String einlesen, sobald ich was auf der seriellen Schnittstelle empfang, sonst soll das Programm andere Tätigkeiten ablaufen lassen.
aus. > gets(neu); //Speichert den String auf neu ab. > } > } > [/c] > > Wie gesagt will ich einen String einlesen, sobald ich was auf der > seriellen Schnittstelle empfang, sonst soll das Programm andere > Tätigkeiten ablaufen lassen
-
Thread
c# Problem mit einem Thread
liest und in einer Textbox auf meiner Oberfläche anzeigt. Hier der Code ausschnitt [c] Thread readThread = new Thread(Read); static void Read() { while (_continue) { try { string message = _serialPort.ReadLine
, das läuft folgendermasen: [c] delegate void ChangeTxtReciveTextDelegate (string newText); private void ChangeTxtReciveText (string newText){ if(txtRecieve.InvokeRequired) //Wenn eine Synchronisierung erforderlich ist: Selbstaufruf
-
Thread
VisualBasic6: Zahlen vom Mikrocontroller empfangen
noch verständlich ist. Danach kamen die ausgestorbenen Saurier und dann diese Typen , die auf C, C+ , C++ , und C-Rail to Rail geeicht waren.. da ich auch ein VB6 Fan bin, kann ich dir wohl helfen. wenn du also mit Autor: Werner P. (wpfundstein) und seinem Code nicht klar kommst, werden
Wiederum, außer kritisieren, hast du ned viel mehr geholfen cyblord! :P sag ihm doch: C# install und Ansatz zu der Lösung! ich bin kein C# Programmierer, aber ich nehme es an, wenn einer assemblieren kann, kann der eigentlich C# besser als VB! oder lieg i da falsch? 2. lass mei
-
Thread
Datei aus C Programm beschreiben
to open %s", FILENAME); } printf("buf: %s", buf); fscanf(fd, "%s", buffer); printf("string: %s\n", buffer); fprintf(fd,"%s", buf); fclose(fd); } [/c]
Mr Bean schrieb im Beitrag #2794894: > sprintf(buf, "Temperatur:%s+%d°C\n\r", 0x32, temperature); soll das der Versuch von dem Leerzeichen sein? %s erwartet einen String 0x32 ist aber ein char. [c] sprintf(buf, "Temperatur: +%d°C\n\r", temperature); oder sprintf
-
Thread
[Pic] C18 Probleme mit Strings
0'; i++); for (j=0; j<i; j++) { T6963_writeData(text[j]-0x20); T6963_writeCommand(0xC0); } } [/c] Folgende Codebeispiele [c] unsigned char text[5] = {'T', 'e', 's', 't', '\0'}; unsigned char string[] = "Noch ein Test"; T6963_writeString(0,5, string); //Auf dem Display wird
schrieb im Beitrag #1926428: > Welcher Compiler? > Besitzt dieser Compiler auch die entsprechende String library oder heißt > sie da vll. anderst. ? Als Compiler verwende ich den MPLAB C18 C v3.36. Welche String Libraries sollte ich den includen? > Du machst dir das Leben schwer...//.... > (Kann
-
Thread
Nur letzte Zeile von Textdatei lesen (C#)
> Gibt es noch einen anderen Weg? Wie immer gibt es unzählige Wege... z.B. [c] string lastLine = System.IO.File.ReadLines("test.txt").Last(); [/c]
Damit funktioniert es so wie ich es möchte: [c] string lastLine = System.IO.File.ReadLines("test.txt").Last(); [/c] Vielen Dank für die Unterstützung!
-
Thread
Suche Methode zur Konvertierung von Double in String (in C)
darzustellen. Demnach suche ich nach einer Methode (in C) der ich eine Double Zahl uebergebe um dann einen Char String zurueckzukriegen. DANKE und GRUESSE !!
Stefan Meier schrieb: > Folgendes passiert bei der Benutzung von sprintf: > > > [c] > long int rein; > char raus[15]; > sprintf(raus, "%d", rein); > [/c] > > Bis 12345 funktioniert das ganze, dann habe ich einen String mit > "12345". Nein. Es funktioniert nicht. Das du
-
Thread
ATtiny85 - bei 3.5kB ist Schluss
MWS schrieb im Beitrag #4021276: > Ein: > [c]lcd.print(" ready, press ");[/c] > > dürfte auch in Arduinisch keine extra Variable mit Inhalt " ready, press > " dauerhaft im SRam anlegen. Da wird nur temporär SRam verwendet, um den > String
dass es da am Arduino noch keine andere Lösung gibt. > Immerhin muss der COmpiler ja auch bei > [c] > lcd.print(F("PCF8574 @: ")); > [/c] > damit klar kommen, dass er einen Pointer auf einen String im Flash > kriegt und die entsprechende print Methode raussuchen. Ergo muss es eine >
-
Thread
Könnte mir jemand diesen C++ Code in eine class Bibliothek umschreiben
*page, uint8_t *buffer, int32_t length); int32_t pngSeek(PNGFILE *page, int32_t position); String readFile(fs::FS &fs, const char * path); void pngDraw(PNGDRAW *pDraw); }; #endif mein C++ File #include "MyPngLib.h" void PngClass::InitPngLib(TFT_eSPI tft ) { _tft = tft; //SPIClass
->y, pDraw->iWidth, 1, lineBuffer, dmaBuffer); } void PngClass::DrawPng(int x, int y,const String PngName) { xpos = x; ypos = y; int16_t rc = _png.open(PngName.c_str(), pngOpen, pngClose, pngRead, pngSeek, pngDraw); if (rc == PNG_SUCCESS) { _tft->startWrite
-
Thread
C# begrenzt COM-Schnittstelle
Ich schicke vom Mikrocontroller einen String, an jedem String hänge ich ein Endzeichen an, was ich auch bei Hterm als Zeilenumbruch angezeigt bekomme und da kommen die 400 Daten auch ohne Probleme an ohne fehler.
Peter schrieb im Beitrag #2476804: > Ich schicke vom Mikrocontroller einen String, an jedem String hänge ich > ein Endzeichen an, was ich auch bei Hterm als Zeilenumbruch angezeigt > bekomme und da kommen die 400 Daten auch ohne Probleme an ohne fehler. und was ist wenn jemand
-
Thread
C Methoden mit Variablen
... } [/c] ich möchte dieselbe methode mehrmals verwenden, nun stellt sich mir die frage wie kann ich die Variablen merkertimeOn und merkertimeOff speichern/übergeben? was gibt es in C für Möglichkeiten?
WimmerM schrieb im Beitrag #6190712: > C Methoden ??? In C gibt es keine Methoden. C entstammt den Jahren vor unserer Zeit. Tiefstes Mittelalter und wird nur noch von den Möchtegernprofis gehyped. Hast du ein BS am Laufen? Dann nimm
-
Thread
strlen(.) oder sizeof(.)-1
Hallo! Was ist denn besser? [c]#define MY_STRING "Das ist ein Test" ... { uint8 len; /* Option 1 */ len = strlen(MY_STRING); /* Option 2 */ len = sizeof(MY_STRING)-1; }[/c] Danke & Gruß Jochen
und jetzt die Preisfrage: was passiert bei [c] #define MY_STRING "Das ist ein Test\0und nochwas" [/c] ???
-
Thread
LCD Routine (C) bringt fehler
verschieben oder -> in der #include-Anweisung den Pfad angeben (beachte den Unterschied <string-avr.h> und "string-avr.h") - die Datei steht nirgens Suche den Rechner nach der Datei ab (mit WindowsTaste-F). Ein gutes Programm würde sagen: Laden der Datei string-avr.h von Verzeichnis c
UBRRL = (unsigned char) USART_BAUD_SELECT; } void usart_writeChar(unsigned char c) { while (!(UCSRA & (1<<UDRE))) {} UDR = c; while(!(UCSRA & (1<<TXC))) {} } void usart_writeString(unsigned char *string) { while (!(UCSRA & (1<<UDRE))) {} while (
-
Thread
Verkabelung SolarPanel Wechselrichter kupfer sparen
Rubble C. schrieb im Beitrag #7468777: > Ein verschattetes Panel in einem String "reisst" die anderen Panels > nicht runter Nochmal für geistig beschränkte: x Module die jeweils an einem eigenen MPPT
Rubble C. schrieb im Beitrag #7468960: > Wo hab ich anderweitiges geschrieben? Hier: Rubble C. schrieb im Beitrag #7468777: > Ein verschattetes Panel in einem String "reisst" die anderen Panels > nicht
-
Thread
Vorteile bei Umstellung von C auf C++
C wohl fühlt und ihr die Strings im Griff habt, dann würde ich dabei bleiben.
erst mal den gleichen Code nehmen, und mit dem g++ übersetzen. Und bei Erweiterungen dann Teile auf C++ umstellen. Ob man für alles Vererbung braucht.. meistens nicht. Aber auf std::string und vector-Klassen möchte ich nicht mehr verzichten. Auch die Konstruktoren mit der Kapselung und sauberer Initialisierung
-
Thread
In C einen String aus Zahlen und Text zusammenbasteln
eigentlich hätte ich erwartet, dass sowas in C geht: [c]uint8_t x[] = { 0xC3,"Blafasel" };[/c] Sieht auf den ersten Blick richtig aus, funktioniert aber leider nicht. Ich wollte in dem Fall einen String erzeugen, der ein "unaussprechliches"
Die erste 0 ist zuviel. So wird der String wie [c] "\030" "3Blafasel" [/c] interpretiert.
-
Thread
C vs. C++ zur Mikrocontrollerprogrammierung - oder: Auf welche C++ Features lieber verzichten?
dafür lieber was angepasstes kleines. Ich habe auch bei der PC-Programmierung nie verstanden was die C++ Std Lib für Vorteile bringen soll. Solche elementaren Sachen wie Strings, Container und Listen hat man irgendwann einmal für seine Bedürfnisse implementiert und kann sie immer wieder verwenden. Ich weiß gar nicht wie oft ich in den 21 Jahren, seit dem ich mit C++ auf dem PC unterwegs bin, den Compiler wechseln musste. Die Std C++ Lib habe ich noch nie gebraucht oder vermisst. Und mir damit viel Ärger erspart. Die eigenen String- und Containerklassen haben diese
-
Thread
Sipdial per ESP8266 an Fritzbox
= WiFi.localIP().toChar(); Serial.printf("\r\nWiFi connected to: %s\r\n", WiFi.localIP().toString().c_str()); und durch folgendes ersetzen ... void setup() { Serial.begin(115200); //WiFiManager WiFiManager wifiManager; wifiManager.autoConnect("Klingel", "passwort");
voller WLAN-Scan gemacht wird. Bei mir hat diese Änderung wieder für schnellen Connect gesorgt: [c] WiFi.config(Ip,Gw,Mask,Dns); WiFi.persistent(true); if (String(ssid) != WiFi.SSID()) { Serial.println("Wifi begin...\n"); WiFi.begin(ssid, password); } else
-
Thread
Anfänger-Entwicklung einer Gärbox Steuerung
Sheeva P. schrieb im Beitrag #7709485: > Uli schrieb im Beitrag #7698794: >> C/C++ war mir SEHR fremd, ... > > Hm, komisch. Ein Großteil dessen, was in C++ gemacht wird, gilt doch > auch schon in C als guter Stil. ... Hallo Sheeva, so langsam begreife ich, dass mit C/C
Uli schrieb im Beitrag #7709652: > so langsam begreife ich, dass mit C/C++ lediglich die 'modernere', > objektorientierte Programmiersprache gemeint ist Nein, das ist falsch. C und C++ sind zwei unterschiedliche Programmiersprachen. C++ kam später und baut auf C
-
Thread
C++ Suche "HighPerformance"-Lösung für dynamische Funktionsliste
eine neue Idee beizutragen, die ich für einen besseren Ansatz halte, möchte ich darauf hinweisen, daß C++ die Möglichkeit bietet, Operatoren zu überladen. Als Äquivalent eines Funktionszeigers läßt sich also einfach der ()-Operator überladen: [c] #include <iostream> #include <string> #include <vector
ja stattdessen auch diese main() benutzen (das Inkludieren von cstdlib für std::exit() und "std::string& getName(void) { return wer; }" in der Klasse Lebewesen nicht vergessen): [c] int main(void) { std::vector<Lebewesen> lv; lv.push_back( Lebewesen("Mensch", "isst") ); lv.push_back
-
Thread
char an String anhängen
newChar; myString[myString_i] = '\0'; } else { myString_i = 0; // oder Flag setzen. } } [/c]
Zeiger auf einen gültigen Speicherbereich hinterlegt wurde. Z.B durch ein message_ptr[i] = myString; // (Definition von myString siehe bei dir) Dann steht in myString das 'c'
-
Thread
String Konvertierung
taucht aber beim Anzeigen nirgendwo auf...) heisst die Funktion die du suchst in der Tat "sprintf". [c] char buf[20]; int x=531; sprintf(buf, "%d", x); LCD_PutString(buf); LCD_Update(); [/c]
// Output ADC sprintf(buf, "%d", adcval); LCD_PutString(buf); LCD_Update(); } } [/c]
-
Thread
String empfangen und auswerten
solange sender besetzt #endif UDR=x; //echo senden return x; //zeichen zurückgeben } [/c]
{ ; //beide aus } break; } return(0); } [/c]
-
Thread
Variable zu ASCII umwandeln in C
)zahl2, (int)erg ); lcd_string( output ); [/C] sprintf verwendet einen String, in den Formatieranweisungen (nach dem %) eingebettet sind. sprintf setzt dann an diesen Stellen die restlichen Argumente ein, wobei man umfangreiche
Standard Ausgabe aus fprintf schreibt das ganze in eine Datei sprintf schreibt das ganze als String in ein char-Array Auf einem AVR-µC macht nur sprintf Sinn, weil es ja so etwas wie eine Standard-Ausgabe in dem Sinne nicht gibt.
-
Thread
RST bei Buffernutzung
"" entspricht doch '\0' was einem C-String-Ende entspricht. warum kann ich das nicht auch an alle stellen schreiben?
insofern gültigen C-String, als das er nach dem zuletzt empfangenen Zeichen 0-terminiert ist.
-
Thread
Benötige Nachhilfe in C - Call by Referenz
//zum Test einfach was zuweisen *String2="egal"; } in main.c: #include meine.c char[5] Ausgabe1; //String anlegen mit platz für 'i s t \ 0' char[6] Ausgabe2; void main(void) { Funktion(&Ausgabe1,&Ausgabe2); putLCD(Ausgabe1
*String2) > { > ... > *String1="ist"; //zum Test einfach was zuweisen > *String2="egal"; > } > > in main.c: > > #include meine.c > > char[5] Ausgabe1; //String anlegen mit platz für 'i s
-
Thread
Fehlersuche in C Gesperrt
. Und wenn man wirklich so ein Programm braucht, dann muss man ja das Ganze noch speichern. [c] #include <stdio.h> #include <string.h> #define MAX_NUM_PRODUCTS 512 #define MAX_NAME_LEN 128 int last_pos = 0; typedef struct product { char product_name[MAX_NAME_LEN]; int num_product
geht es ja hier ja gar nicht. 30 Minuten Arbeit und das Problem vom Eingangspost ist gelöst: [c] #include <stdio.h> #include <stdlib.h> #include <string.h> #define NAMELENGTH 100 #define DBSIZE 1000 #define DBNAME "database.bin" struct Artikel { char artikel[NAMELENGTH + 1]; int
-
Thread
C#: ErrorCode-> String Ausgabe
_3, "Fehlertext Beschreibung für Fehler 03" } }; public static string GetErrorText(int number) { if (errorMap.ContainsKey(number)) return errorMap[number]; return UnknownErrorNumber; } } [/c] Es gibt sicher jede Menge anderer Ansätze
(Fehlernummern, Fehlertexte) an einer Stelle. Du kannst dann auf die Konstanten zugreifen: [c] var errNr = MyErrors.ERROR_FAIL_1; [/c] um den Wert irgendwo zurück zu geben. Und an einer anderen Stelle (Textbox) die Nummer in einen String umwandeln lassen: [c] textBox.Text = MyErrors.GetErrorText
-
Thread
C String in uint32 und zurück?
spi_flash_write definiert sind - hast du ein link auf die Doku? vermutlich kannst du auch einfach so den String übergeben [c] spi_flash_write(0x8c000, (uint32_t*)buf, 4)); [/c]
Peter II schrieb im Beitrag #4684173: > vermutlich kannst du auch einfach so den String übergeben > spi_flash_write(0x8c000, (uint32_t*)buf, 4)); Nein, das geht nicht besonders gut, weil buf als array of char zwar genauso 4 Bytes belegt wie ein uint32_t, aber buf ist ohne Alignment
-
Thread
String loeschen
Schöner ist es so: [c]Buffer[60]='/0'[/c] Somit ist offensichtlich, dass hier ein Ende des Strings markiert wird.
andere moeglichkeit geben. Was willst du denn außer überschreiben noch machen? Den SRAM aus dem µC rausbauen? Woran erkennt deine Software wie viele Zeichen im String sind?
-
Thread
Strings wollen nicht verbunden werden
; //strcat(packet, crc_str); strcat(packet, crc16(packet)); uart_puts(packet); } [/c] Die auskommentierten Sachen sind optional, falls RS_485ADDRESS ne Zahl und kein string und crc16 ne Zahl und keinen string zurück liefert. P.S.: und alles ohne Gewähr, nur schnell alles mal zusammen
Und wozu überhaupt alle Teilstrings in einen langen String verpacken, nur um sie dann zu verschicken? Da könnte man doch gleich die Teilstrings verschicken... (So eine uneffektive Vorgehensweise gewöhnt man sich in Sprachen wie Java oder C# an :-)
-
Thread
LED G4 2,5W Leuchtmittel gehen ständig kaputt
wäre das aber ok. Ich habe vor ein paar Monaten mal dran rumgemessen und ich bildete mir ein der C2 könnte durchlegiert sein. Bin mir da aber nicht sicher. Der große Elko C1 ist es jedenfalls nicht, denn mit einem 12V DC Treiber müsste ja die Birne nach Entfernen von C1 dann funktionieren (sollte
eine Unterbrechung und kein Kurzschluss. Dann verteilt sich der Strom auf zwei Strings à 105mA, was dann schon grenzwertig sein dürfte, wodurch eine weitere LED in einem der beiden restlichen LED-Strings stirbt, macht 210mA im übrig gebliebenen LED-String, bei dem prompt eine weitere