-
Thread
C, String und Uart Problem.
darauf aufbaust. [C] i = 0; while( string[i] != '\0' ) usart_putc( string[i++] ); [/C] Dieses Prinzip ist so universell, dass es sich lohnt für die Ausgabe von Strings, gleich mal eine eigene Funktion zu
> DatenArray[DatenArray_Index]=';'; > DatenArray_Index++; > [/c] > Senden wollte ichs so > [c] > for (i=0;i<DatenArray_Index;i++); > { > usart_putc(DatenArray[i]); > } > [/c] > selbiges auch hier: Mach den "String" mal zu einem richtigen C-String.
-
Thread
uC/OS-II portieren
tip mal "uC/OS-II rapidshare" in google ein. dann das vierte Ergebnis
da erstmal kein Problem. Nur das die Tasks, die print... aufrufen, solange hängenbleiben, bis der String gesendet ist. Das ist ein Nachteil. Aber wenn man damit leben kann... Du solltest deinen Sourcecode posten, so wie du ihn verwendest, keine Auschnitte oder abgetippt. Poste alle deine C Files ALS
-
Thread
Pointer und C
> Das ist interessant. Soweit ich mich erinnere dürfte das laut ANSI-C > nicht die selbe Wirkung haben. Deine Erinnerung ist falsch. > Vielleicht unterstützt der AVR-GCC gar keine Pointer auf Pointer. Mach's mal halblang. Der GCC ist ein C-Compiler und keine
unsigned char *buffer ) { buffer[0] = '\0'; } Es war nie die Rede von einem Buffer fuer einen String.
-
Thread
Stringteilung in C
:-) vergesst das free() nicht, wenn's nicht mehr gebraucht wird, oder ein neuer String zerlegt werden soll, sonst gibtz memory leaks :-) [c] int i; for(i=0; i<strs; i++) { free(dest[i]); } [/c]
versuchs mal damit: [c] /* ------------------------------------------------------------------------- * * Splits up string into tokens * * ----------------------------------
-
Thread
Projektname als String
Natürlich könnte man das händisch erledigen, aber ich hätte das gern automatisiert. Wie komme ich in C dahin, dass der Projektname in einem String landet?
Ingo Less schrieb im Beitrag #6141113: > Wie komme ich in C > dahin, dass der Projektname in einem String landet? in dem du dem File den Projektnamen gibst? Dort steckt er ja in argv[0] oder _NAME
-
Thread
c# problem, zeichensatz?
40:::0:440:2: 0:440:1:3:0:64630: 2:; 0:64640: 1: 3:0: ich verstehe leider nicht warum [c] private void OnPortReciveData(object sender, SerialDataReceivedEventArgs e) { StringBuilder response = new StringBuilder(); do {
einige 00 da drinnen und wenn ich mich recht erinnere ist das das > terminierungszeichen eines strings In C schon. In C# (und .NET) eher nicht. Kannst ja versuchen, die Nullen mit String.Replace() in Leerzeichen zu konvertieren.
-
Thread
c++ bestimmten Buchstaben in string großschreiben
0x20 Ja, fast: &= ~0x20 ist besser. Ich bin BTW nicht fuer die Bitfummelei in der Praxis. [c] if (isalpha(c)) { c = isupper(c) ? tolower(c) : toupper(c); } [/c] ist portabel und lesbar. leo
durch ein [C] c = toupper(c); [/C]
-
Thread
Brauche Hilfe bei einem C# Programm
Beispiel kann man schoen sehen, dass Ascii immer noch #1 fuer Programme ist: > private static string[] svnHinzufügen(string neuessvn, string[] svn) Gruesse Th.
[c]int i = Array.IndexOf(svn, gessvn);[/c] so klappt's. zu überprüfen auf: https://dotnetfiddle.net/vLbFbt [c]if (i > 0)[/c] ist eigentlich falsch, aber da svn[] bereits mit einem Element initialisiert
-
Thread
Wie lange zum Einarbeiten in C++
Stimme für Stroustrup. Vor allen Dingen deshalb, weil er nicht mit dem Quatsch anfängt, dir erst mal C beibringen zu wollen um dann irgendwann mittendrinn die Kurve nach C++ zu kratzen. Du hast eine std::string Klasse, also benutze sie auch. Von Anfang an. C-style-Arrays und alle Probleme die damit zusammenhängen
Referenzen > umgeht, Referenzen ja, Zeiger: eher nein. Ausser für polymorphe Dinge braucht man die in C++ deutlich weniger als in C. > die String Bib häufig benutzt und sehr viel mit Interfaces und > Vererbung verspielt umgeht. > Unser Prof liebt solche Zeiger auf Zeiger spielchen. Vielleicht sollte
-
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
Char Array in string in C und dann abfragen
- dient nur zur Visualisierung): [c] string kette; unsigned int i = 0; for(i; i <= 64; i++) { // hier jetzt irgendwie Array in kette laden } [/c] Danach könnte ich dann den String über... [c] Switch(kette) { case
schrieb im Beitrag #4311251: > Äräi schrieb im Beitrag #4311229: > >> Wie macht man sowas? > > [c] > #include "string.h" > [/c] Fehler. Muss natürlich [c] #include <string.h> [/c] lauten. string.h ist ja ein mit dem Compiler mitgeliefertes Standard Header-File.
-
Thread
Wie in C# String in Float umwandeln?
In Delphi gibt es z.B. die beiden Befehle. _strToIntDef _strToFloatDef Wenn der String keine Zahl enthält kann ich einen definierten Wert angeben. string strV1 = "B1.054"; float dblV2; dblV = strV1.ToString(); So bekommt man sicher einen Programmabsturz. Was ist die
eine gültiges Fliesskomma-Literal enthält. Da man den mit Regex ermittelten String dann sowieso parsen muß, ist es sinnvoll, gleich TryParse zu verwenden und für den Fall, dass das Ergebnis false ist, den Defaultwert zu verwenden. [c] double d; if ( double.TryParse( inputString
-
Thread
AVR C "Variablenüberlauf"
) set_cursor (0,1); // cursor pos setzen lcd_string( anz ); // anzeige frequenz set_cursor (6,1); // cursor pos setzen lcd_string( "kHz" ); // anz. in kHz } [/c] mfg swen
utoa( freq, anz, 10 ); // übergabe freq > anz set_cursor (0,1); // cursor pos setzen lcd_string( anz ); // anzeige frequenz set_cursor (6,1); // cursor pos setzen lcd_string( "kHz" ); // anz. in kHz } } } return 0; } [/c] mfg swen
-
Thread
Probleme bei C Programmierung
uint16_t Y = 0b11111111; // Dezimal 255..... binäre werte werden in winavr-c nicht erkannt. werden nur als deci.
/1000L,abs(lMesswert%1000L) ); // erzeugt in sAnzeige die Anzeigewerte 0,000 V bis 5,000 V. OutString(sAnzeige); OutString gibt einen String auf das LCD. Möglicherweise heisst diese Funktion bei Dir anders. Ciao, Yagan
-
Thread
Automower G3 mit USB Diagnoseport fernsteuern?
String response = ""; String separator = ""; for (int i = 0; i < 1000; i++) { int c = Serial.read(); if (c >= 0 && c <= 255) { response = response + separator
Hallo Markus, ich habe "1" verwendet. [c]str == "1"[/c] Du kannst dort natürlich auch "ON" oder etwas anderes eintragen. Um zu erkenne ob der Befehl auch angekommen ist, wird dieser gleich wieder auf "0" zurückgesetzt. [c]String("0")
-
Thread
C-Wörter zählen
isalnum(*s)) s++; // ueberspringe wörter } return count; } [/c]
Schau Dir dieses einmal an: http://www.roseindia.net/c-tutorials/c-string-tokenizer.shtml Dann bekommst Du mit Sicherheit die passenden Ideen.
-
Thread
KS0108 GLCD Routinen
mir sagen, was diese vier funktionen tun? void ks0108Puts_P(PGM_P str), uint8_t ks0108CharWidth(char c), uint16_t ks0108StringWidth und uint16_t ks0108StringWidth_P(PGM_P str). ich verstehe diese funktionen nicht. für ein zeichen bzw. mehrere zeichen sind doch schon die funktionen int ks0108PutChar(char
void ks0108SetDot(uint8_t, uint8_t); void ks0108ClearDot(uint8_t, uint8_t); void ks0108PutChar(char c, struct font font); void ks0108NewLine(uint8_t fontHeight, uint8_t offset); void ks0108PutString(char *string, struct font font); void ks0108PutStringP(PGM_P string, struct font font); char ks0108ReadData
-
Thread
JSON für Daten-Austausch zwischen uC und PC?
Torsten C. schrieb im Beitrag #4153218: > mit zwei Leerzeichen hintereinander und wie überträgst du einen Leerzeichen als String? solche einfachen Formate, machen früher oder später immer ärger. Das es
Torsten C. schrieb im Beitrag #4153229: > Peter II schrieb: >> und wie überträgst du einen Leerzeichen als String? > > Mit dem Escape-Zeichen. Oder "Fluchtzeichen", was für ein Wort. Hab ich auch noch
-
Thread
C++ alle Daten mit recv() empfangen?
Schleife packe, bleibt der Code irgendwann in der recv() Methode stehen, da diese ja blockiert. [c]/* Auf die Antwort des Servers warten */ do { rc = recv(s, recvBuf, bufferLength, 0); if(rc > 0) { /* String kopieren */ for (int i = 0; i <= rc; i++)
Außerdem... Kilian K. schrieb im Beitrag #4659847: [c]> /* String kopieren */ > for (int i = 0; i <= rc; i++) { > strIn += recvBuf[i-1]; > }[/c] ...was passiert bei i=0?
-
Thread
[C] Ich verstehe die Welt nicht mehr: Definition zweier Arrays in C innerhalb einer Funktion
#include <stdio.h> #include <string.h> int main() { char myString1[10]; myString1[0] = 'a'; char myString2[10]; //<- Hier Fehler! return 0; } [/c] Dies aber geht: [c] #include <stdio.h> #include <string.h> int main() { char myString1[10]; char myString2[10]; myString1[0] = 'a'; return 0; } [/c] Ich verstehs nicht. Jemand von Euch? Gruß Bernhard
-
Thread
Strings in Arduino ersetzen
um. Gerade hab ich eine Funktion: [c] void handleCommand(String strName, String strSend, String strWanted, int wait_cycles) { [/c] Die Strings sollen nur als Argumente
auf C-Strings empfohlen. Würde sagen: vergiss den Artikel!
-
Thread
Multilinguale C# anwendung
Hi leute ich habe in C# eine anwendung geschrieben. Die Benutzeroberfläche ist in deutsch. nun muss ich schaffen, dass die sprache von deutsch auf englisch umgestellt werden kann. ich will aber keine string listen hinterlegen und beim aufbau jedes froms jedem button/label/etc. den passenden string in der passenden sprache zuweisen müssen. gibts in c# .net nicht eine einfachere möglichkeit? stringlisten mit deutsch englisch werde ich wohl nicht vorbei kommen, aber das umstellen der sprache
-
Thread
C# (Visual Studio) string erstellen.
die Funktion das nicht. und was liefert sie? Man kann es auch besser lesbar schreiben. [c] string str = string.Format("0,{0},{1},{2}\n", trackBar1.Value, trackBar2.Value, trackBar2.Value ); serialPort.WriteLine(str); [/c]
strComplete = 0; static uint8_t strCount = 0; static char string[MAX+1] = ""; if(uart_available()) { char c = uart_getc(); if(strComplete == 0) { if(c == '\n' || c == '\r' || strCount >= MAX) { string[strCount] = '
-
Thread
Server in c++
Vielleicht solltest du erstmal schreiben wie deine Kenntnisse in C++ sind. Hast du schon mit Sockets gearbeitet? Bist du sicher bei String operrationen? Kennst du die Vor und Nachtile von Threads Forks. Willst du alles selber schreiben oder auf fertige Libs zugreifen
und zwar für den HTTP Header die ließt die Länge von der Datei und so. Sonst ist das ja eigentlic C aus villeicht die c++ Strings
-
Thread
Thread iefert falsche Ergebnis [C#]
(int i = 0; i < dataTable.Rows.Count; i++) { label_Customers.Text = dataTable.Rows[i][0].ToString(); label_LastEdited.Text = dataTable.Rows[i][1].ToString(); label_Searches.Text = dataTable.Rows[i][2].ToString(); label_Added.Text = dataTable.Rows[i][3].ToString(); label_Edited.Text
|| password == String.Empty) { return QueryResult.IncompleteUserData; } string queryString = "SELECT COUNT(*) from users where Username=@username AND Password=@password"; using (var connection
-
Thread
C# Serial read
Grundsätzlich geht immer die Regex.Match-Methode; hier geht es mit der String.Split-Methode noch einfacher: [c]String.Split(new Char[] {'S', 'P', 'N'}, "S0P0N0") // returns {"0", "", "0", "", "0"}[/c] … oder so ähnlich. VG Torsten
Instanzmethode Blöde Instanzmethoden! :( Da hätten die auch eine Extension draus machen können! ;) [c]public static class myString { static String[] Split(this String S, char[] chrs) { return S?.Split(chrs); } }[/c] Ich war in Gedanken bei String.Join(). Sorry + Danke, Meisterklops
-
Thread
Daten von der seriellen Schnittstelle einfach darstellen
jm 2c schrieb im Beitrag #3375801: > Tolle Arbeit! Gibt es Beispielanwendungen für C oder Luna? Schick einfach den Messwert als String + CRLF, das geht mit jeder Programmiersprache. Ist aber in der Programmhilfe
drawChart() {") AddString(0, "var Data = new google.visualization.DataTable();") AddString(0, "Data.addColumn('string', 'Topping');") AddString(0, "Data.addColumn('number', 'Slices');") AddString(0, "Data.addRows([") AddString
-
Thread
C# - String Hex Value in String schreiben
Ich habe einen String. Ich möchte jetzt die Hex-Zeichen "rausholen" und in einen anderen String reinpacken. Beispiel: Ich habe eine String mit dem Inhalt "A". Ich möchte in einen zweiten String die Hex-Value reinpacken,
sondern die binäre Repräsentation des Zeichens 'A' schreiben. Dazu solltest du wissen, daß ein String in C# als Unicode abgespeichert ist. Wenn du die binäre Repräsentation der Zeichen ablegen willst, dann kannst du keinen 2. String nehmen, sondern musst ein Array von Integern benutzen. Suche mal
-
Thread
Insert String für "C" ohne malloc
Hallo Wenn man in C einen string in einen anderen einsetzen möchte findet man im Netz ein haufen insert Befehle mit malloc. Nur sind die für µC suboptimal. Deswegen meine Frage. Gibt es einen insert Befehl ohne
Martin Michael schrieb im Beitrag #3976296: > Hallo > Wenn man in C einen string in einen anderen einsetzen möchte > findet man im Netz ein haufen insert Befehle mit malloc. > > Nur sind die für µC suboptimal. > > Deswegen meine Frage. Gibt es einen insert Befehl
-
Thread
ganz einfache c frage (break, verschachteltes for)
Klaus Wachtler schrieb im Beitrag #1710879: > Ist das nicht C++? > Der gcc übersetzt das. Ich habe eben nochmal nachgelesen, also throw nimmt eigentlich nur Klassen entgegen. Man kann sogar ein std::string werfen, dann ist aber die Frage: wer räumt den geworfenen
Grütze greifen. Das wiederrum lässt einen auch > wieder zu der Aussage verleiten: der geworfene String darf kein lokaler > sein, weil sonst im äußeren Handler der String schon wieder weg ist... Man kann in C++ werfen, was man will. Es wird bei Bedarf ein temporäres Objekt als Kopie angelegt, und
-
Thread
LCD am I2C Bus
value &= ~(1 << LCD_BL_PIN); } i2c_write(value); i2c_stop(); } [/c] Das Teil vom Code steckt in der angehängten Datei achim
LCD_I2C_ADDRESS + I2C_WRITE); init_display(); write_string("Hello World"); i2c_stop(); return 0; } [/c] damit bekomme ich einen blinkenden Strich oben links. Die beiden Datein vom i2clcd habe
-
Thread
c: discards ‘const’ qualifier from pointer target type
A. K. schrieb im Beitrag #4620199: > Etwas perfide ist allerdings, dass in C ein lexikalischer String "abc" > vom Typ (char *) statt (const char *) ist. Grund hierfür ist, das > "const" erst mit ANSI C nachträglich in die Sprache eingefügt wurde. In > C++ wurde das geändert
C99 Rationale: 6.4.5: String literals are not required to be modifiable. This specification allows implementations to share copies of strings with identical text, to place string literals in read-only
-
Thread
C++ zeigt in der Ausgabe nichts an
blubb.c:19:32: warning: comparison with string literal results in unspecified behavior [-Waddress]
};[/c] Und das Post/Preincrement geht nicht nur in Schleifen. Dann ist das [c]auswertung[ts.tm_mday-1][ts.tm_wday]++;[/c] auch besser lesbar. [c]auswertung[ts.tm_mday-1][ts.tm_wday] += 1;[/c] geht
-
Thread
String an UART mit C
Hallo! Ich möchte einen string ans uart ausgeben. es gibt bereits in gcctest4 eine solche funktion, aber die ist interrupt-basiert, was mich stört. ich möchte gerne, daß der avr wenn er sendet, nur sendet. hier is mein code: void uart_send(u08 *buf, u08 size) { unsigned char i=size; for (i=0;i<size;i++){ outp(buf[i],UDR); while ( bit_is_clear(UCSRA,TXC)); } } woran liegt's dass der nicht klappt? mfg
-
Thread
Anfängerfragen zu C mit AVR Studio 7
um umgekehrt C kennt keine Strings im Sinne von Basic oder Pascal, sondern nur Arrays, die mehr oder weniger voll mit char's sein können, wobei das Ende mit einem byte vom Wert 0 gekennzeichnet ist. String-Operationen
Joern DK7JB .. schrieb im Beitrag #5664650: > bei dem Strings über Uart ausgegeben werden. Du solltest erstmal C-Strings verstehen. Dann ist dir das sofort klar. Das geht auch am PC.
-
Thread
[C] Was bewirkt diese Zeile?
Warum werden die einzelnen "Strings" mit "\0" miteinander verkettet? [c] #define STR1 "eins" #define STR2 "zwei" #define STR3 "drei" char str[]=STR1 "\0" STR2 "\0" STR3 "\0"; puts(str); [/c] wird ja nur "eins" ausgeben
zitter_ned_aso schrieb im Beitrag #5699410: > Warum werden die einzelnen "Strings" mit "\0" miteinander verkettet? Damit man sie sauber voneinander trennen kann? > [c] > puts(str); > [/c] > > wird ja nur "eins" ausgeben. Ja. Und? Die Strings stehen da nicht zu dem
-
Thread
C# Probleme bei SQL Abfragen
Εrnst B. schrieb im Beitrag #6497398: > d.H. du bastelst deine Daten in den SQL-String hinein? Er programmiert ja auch in C#. Was erwartest du da?
{ txtBestFile.Text = Convert.ToString(reader["DateiName"]); txtAblNr.Text = Convert.ToString(reader["AblageNr"]); txtAbrufNr.Text = Convert.ToString(reader["AbrufNr"]); txtProj.Text =
-
Thread
String to Hex C#
Hi, hab da doch noch ne frage. Der String wird bei deiner Funktion in Hex gewandelt. Ich willl aber dass der String so bleibt wie er ist und ich ihn als Integer weiterverwenden kann anstatt als string. Verstehst du was ich meine? String
16 nächstes Zeichen von links nach c holen wenn c>="0" und c<="9": cWert=c-48 wenn c>="A" und c<="F": cWert=c-55 Value= Value+cWert nächstes Zeichen Waldo
-
Thread
Potenzieren in csharp
[c] txtNSpannung.Text = Convert.ToString(Math.Round(Convert.ToDecimal(txtSpannung.Text) * Potenzieren, 3)); [/c] hier wird ein String mit "," ausgegeben. Aber warum?
gibt es übrigens auch noch [c] messErgebnis.ToString("0.00"); //2 dezimalstellen messErgebnis.ToString("n2", System.Globalization.CultureInfo.InvariantCulture); // 2 dezimalstellen, kulturbezogene Trennzeichen [/c] wenn das
-
Thread
C++/placement new: irgendein Grund warum std::string problematisch sein sollte?
=("hallo"); b->operator=("bert"); delete b; } { char buffer[sizeof(std::string)]{}; std::string* c = new (buffer) std::string(); c->operator=("hallo"); c->operator=("bert"); c->assign(std::string("uwe")); c->~basic_string(); } { char buffer[sizeof(std::string)]{}; std::string* c = new (buffer) std::string(); std::string& rc = *c; rc = "hallo"; rc = "bert"; rc = std::string("uwe"); rc.assign(std::string("uwe"));
-
Thread
C Code in AVR umwandeln
das ist kein C sonder C++ using namespace std; String wirst du auf dem kleinen µC vergessen können, schreibe reines C dann geht es auch.
nicht schlecht: [c] string salat; : salat.push_back(table[c]); [/c]
-
Thread
C# Bitmanipulation
ist das ein array? > > Gruss Reinhard Da hat er recht! Du kannst die Bits zB. so abfragen: [c] public delegate TResult Func<TArg0, TResult>(TArg0 arg0); public delegate TResult Func<TArg0, TArg1, TResult>(TArg0 arg0, TArg1 arg1); static void Main(string[] args) { Func<byte,bool> quest
(globalVar.Tastenkombination[0].ToString()); } [/c] Jetzt will ich in der Abfrage der Taste noch einbringen ob die Taste nicht schon den Wert geändert hat und dachte mir ich kann einfach mit "& 0x08" das Byte vergleichen und erhalte
-
Thread
LCD Ansteuerung error
lcd_clear(); lcd_string("test"); while(1) { } } return 0; } [/c]
ach und holger, wenn ich das jetz mit [c] lcd_init(); lcd_string("Juhu!"); _delay_ms( 1000 ); lcd_clear(); _delay_ms( 1000 ); lcd_string("test"); [/c] bleibt Juhu! stehen ...
-
Thread
Schulnotenbewertung eines Arduino-Programms
eigene Stringlesefunktion, verwendet NICHT die Klasse String und hat dann als "Regelverstoß" Arduino einen Mischmasch aus C, C++ und Arduinoeigenheiten (weil klassischerweise ein char stringbuffer[maxlen] verwendet wird). Der Eventhandler liest immer nur
für Arduino immer größer > werden). Ähh.... Du hast eine rege Fantasie! Keiner sagt, dass du String verwenden musst. Du kannst durchaus deine heiß geliebten C-Strings verwenden. In Arduino kannst du alles verwenden, was in C/C++ ASM geht. Das schöne ist, dass String unendlich oft getestet
-
Thread
C++ Referenz oder Pointer?
int i ); wenn nein: übergib eine konstante Referenz bsp: void foo( const std::string& i ); Falls die Funktion das Argument beim Aufrufer ändern können soll: Übergib eine Referenz bsp: void foo( int& i ); void foo( std::string& i ); In C++ werden Pointer
<algorithm> ... int a; int b; std::swap(a,b); std::string sa; std::string sb; std::swap(sa,sb); // Und dank template-Spezialisierung std::list<Irgendwas> la; std::list<Irgendwas> lb; std::swap(la,lb); [/c] Beachte: bei deiner Implementierung würden
-
Thread
C++: speichern, verbinden, suchen von HEX Werten
("\x02\x01\xC1", 3); if (pos != std::string::npos) { std::cout << "Gefunden an Stelle " << pos << "\n"; } } }[/c]
?! Ein C++-string ist wie ein vector<char> mit Extras, warum sollte man ihn nicht dafür verwenden? Es handelt sich schließlich nicht um C-Strings, die keine 0-Bytes mögen...
-
Thread
Display mit Touchscreen bei Pollin?
*string) { char c; for(;;) { c = *string++; if (!c) break; lcd_writechar(c); } } [/c] Gruß Garag
es so aussehen, wie du es sicherlich kennst. Locate 1 , 1 Lcd Fusing(temp1 , "#.&") ; Chr(0) ; "C " Locate_zeile = 10 Locate_spalte = 8 Lcd_string = Temp1 "Grad" Gosub Lcd_write_string Gruß Migelito
-
Thread
usart string
main(void) { Sendenstring( "Name" ); // Deine Sendefunktion aufrufen } Du solltest dir ein C-Buch besorgen. Das sind C-Grundlagen.
senden: Senden_Von_String("Name");
-
Thread
Wie vorgehen beim String einlesen?
ein C-String immer nur bis zum Zeichen mit dem Hex-Wert 0x00 geht. D.h. alle C-Stringfunktionen werten das als String-Ende Zeichen. Wie sieht jetzt eigentlich dein String wirklich aus? Hast du wirklich
dir der Absender das Daten dankeswerterweise ja mitgeteilt. > Das Problem ist das sizeof(uart_string) dann immer 30 ist. Nein. Das Problem ist, dass du ganz dringend ein C-Buch brauchen würdest, aber keines hast.
-
Thread
Ansi C - UDP Case switch
Man kann eine Tabelle mit Einträgen aus String und FunctionPointer machen. Dann im Dispatcher in der Tabelle nach dem String suchen und bei Erfolg den zugehörigen FP aufrufen. In C++ etwas eleganter mit den Container Klassen, z.B. std::map was
ui_WetterTimestamp, stamp_str); printf("name: %.*s\n", t[i + 1].end - t[i + 1].start, JSON_STRING + t[i + 1].start); i++; } else { //printf("Unexpected key: %.*s\n", t[i].end - t[i].start,JSON_STRING + t[i].start); } } [/c]