-
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
zeichen im String umwandeln
...und schon wieder ich hab ne Zeichenkette z.B. String "500040C90...." Bei den Zeichen 0C handelt es sich um eine Hex Zahl (d12). Jetzt möchte ich die Hex 0C nach "kette" kopieren. Beispiel: int k;i; char kette[3]; i=5; //sollte die 0 von 0C sein kette[k]=string[i]; k++;i++; kette[k]=string[i]; Jetzt hoffe ich,daß in dem String "Kette" 0C steht. Nun steht ja i auf C vom string und ich möchte i jetzt um 12 stellen erhöhen. Wie stell ich es am besten
-
Thread
Hex in Char casten und ab aufs Display
Geht ein [c]lcd_string(uart_string);[/c] nicht? Gibt es kein lcd_char ? Und wenn das gar nicht geht, dann kann man zumindest auf das sprintf verzichten [c]char temp[2] = {0}; for (i=0; i < size; i++) { temp[0] = uart_string[i]; lcd_setcursor(i, 2); lcd_string(temp); }[/c]Das wird nicht das Leerstellenproblem beheben.
-
Thread
Binäre Konstanten in C
C++ kann das schon lange....
0b00001111 direkt in den Variablen ablegen könnnen oder kommt noch mehr dazu? (z.B. %b für Format-String bei printf-Funktion - wie %x für die Hex-Zahlen oder %o für die Octal-Zahlen usw.) Sonst macht es ja wenig Sinn PS: Seit wann können die C-Programmierer keine 16 Hex-Zahlen merken? ;-)
-
Thread
Framebegrenzer mit Atmega8
Daniel Kehr wrote: > Hmm, wo ist da der Unterschied? Ich programmier den Controller nunmal in > C und da weis ich nicht wie das geht. Timer gehören nicht zum C-Sprachumfang und daher gibt es auch keine Timerfunktionen in C. Du hast auf dem AVR auch kein OS, welches Dir Systemcalls zur Verfügung
mov [bx],al jmp rd_str rd_str_ende: inc bx mov cx, 0 mov [bx], cx pop cx jmp int21h_e ;###String einlesen ende iret rd_string_lenght: mov cx, 0 rd_string_lenght_start: ; Einen String ausgeben: lodsb ; Byte laden or al,al jz short rd_string_lenght_ende ; 0-Byte? ->
-
Thread
char in ein string
unsigned char uhrzeit[3]; //jetzt irgendwie die uhrzeit in die variablen //mit sprintf in einen String schreiben sprintf(text,"%d:%d:%d",stunden,minuten,sekunden); oder sprintf(text,"%d:%d:%d",uhrzeit[0],uhrzeit[1],uhrzeit[2]); //Im Dispaly anzeigen z.B. display_put_string(char *text) display_put_string
Stunden / 10 + '0'; Text[1] = Stunden % 10 + '0'; .... Im Endeffekt entsteht in Text ein String, der dann ganz normal als String ausgegeben werden kann. Genauso wie auch sprintf den String befuellt.
-
Thread
VB2008 Zahl von Kleinsteuerung konvertieren 65534 = -0.2?
4. Ergebnis von #3 unter Umwandlung in Fest- oder Fließkomma durch 10 teilen Schritte #2-#4 in C: (int16_t)strtoul(string_value_without_decimal_point, NULL, 10) / 10.0 Schritt #3 ist der alles entscheidende. Ob VB zu dieser Verrenkung in der Lage ist, ohne eben über die Binärdarstellung zu
Ich kann mir nicht vorstellen, dass das hier [C] If Int(StringNumber < 32767) Then [/c] korrekt ist. Warum ihr da unbedingt über binär gehen müsst erschliesst sich mir überhaupt nicht. Selbst wenn ein int in VB mitlerweile 32 Bit groß
-
Thread
ELM327 mit Arduino steuern
Mir geht es speziell um meine String readOBDId(String id, int numBytes){ Methode. Kann man das beim uC so machen? Kann es erst morgen mit dem Teil http://www.amazon.de/dp/B00FLL8OZG/ref=pe_386171_38075861_TE_item testen
the OBD-II-UART > readOBDId("ATZ\r", 0); > delay(5000); ausgeben, also [c] String result; result = readOBDId("ATZ\r",12); softwareSerial.print(result); [/c] Frag mich nicht, ob die Syntax stimmt, ich bin Arduino Ignorant. Aber dann weisst du zumindest, ob die
-
Thread
uint16_t 2 byte in LCD anzeigen
lcd_data(LCDZahl); long_delay(300); //rdbyte = exEEPROMRead(adbyte); lcd_clear(); lcd_string("ADD: "); lcd_string(LCDZahl); lcd_setcursor(0, 2); lcd_string("Wert: "); lcd_data(rdbyte); wait_ofkey(); } [/c]
Also wenn ich die Funktion enter() so lasse und einen String zurückgeben könnte ich mit dem Code http://home.htw-berlin.de/~junghans/cref/EXAMPLES/exponent.c#atoi den String in eine Zahl umwandeln. Ich verstehe nur nicht wie der Code funzt. Hilfe ich dreh durch
-
Thread
EEPROM bei Atmega 8
Wie sieht denn die Funktion aus? So: [C] char eeRead(uint8_t * adresse) [/C] Welches Argument will sie haben? Speziell: welchen Datentyp? Wie rufst du sie auf? [C] eeRead(1) [/C] Nun: eeRead will einen uint8_t * haben
putChar(eeRead((uint8_t*) 1)); } } [/c]
-
Thread
Probleme bei Programmausführung
return (0); } [/c]
Ich hab mittlerweile herausgefunden das er mit dem ADC_interrupt so seine Schwierigkeiten hat. [c] int main() [...] sei(); while(1) { //1. Zeile löschen lcd_setcursor( 0, 1 ); lcd_string(" "); lcd_setcursor( 0, 1 ); //Ausgabe der gewählten
-
Thread
UART Auswertung
Zeichen hinten drann und du hast einen String. Abgesehen davon macht strlen sowieso nicht das, was du denkst was es macht. Denn um strlen anwenden zu können, müsstest du schon einen String haben. [[String-Verarbeitung_in_C]]
else { UARTString[s] = c; s++; // s erhöhen if (c == ETX){ // Endzeichen des Strings empfangen? u8UARTEmpfangAuswerten = TRUE; // Flag setzen, dass String vollständig empfangen und zur Auswertung
-
Thread
Arduino: String Objekt aus Funktion zurückgeben
sowas schnell macht. das sag doch mal bitte wie er das macht? Meines wissen ist es mit neue C++ standard definiert das er keine Kopie von string machen braucht. Oder hoft du darauf der String selber eine referenzcounting macht?
irgendwie geht in Form von Initialisierungen durchführen anstatt Variablen ständig rumlungern zu haben. In C++ ist es völlig normal for( i = 0; i < 10; ++i ) { String s( i ); mach was mit s } zu haben, und so scheinbar innerhalb der SChleife laufend Objekte zu erzeugen und
-
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
ok erledigt danke: english deutsch wer kanns richtig übersetzen.
[0]) + StringToInt(MyString[1]) + ... Es ist schier - ja fast unmöglich - die Sytnax manchmal zu erraten, wie es denn in einem C Code Fenster auszusehen hat, der keiner ist, manchmal schon, aber nicht immer
ich mir dann Stringlisten per #include "c:\StringListe.c" wenn ich die in der Simmulation nicht anzeigen lassen kann... Berechnungen geh ich erst gar nicht mehr an, die Formatierungsregeln sind "Kraut und Rüben" - die Stringfunctionen
-
Thread
[C++] Zeiger auf Objekte (?)
Hallo, ich habe folgenden Code gegeben, der die Klassen Bruch und Bruchkopie beschreibt: [c] #include<string> #include<memory> #include <iostream> class Bruch { public: // Kopierkonstruktor Bruch(const Bruch& b) : m_zaehler{ b.m_zaehler }, m_nenner{ b.m_nenner } { }
im Beitrag #7182589: > Warum also nicht b5.*m_bruch.m_zaehler? Weil die Syntax halt so ist in C. https://en.cppreference.com/w/c/language/operator_precedence
-
Thread
seriell FTDI TTL UART SUART ich blicke nicht mehr Durch!
die nicht in die gleiche Richtung zählen bzw. schieben für den Vergleich auf gleicher Bitposition? [c] / /Könnte man nicht für char c = opt_s[optlen]; // lieber den Index i verwenden? char c = opt_s[i]; [/c] [c] unsigned option_s (unsigned ist) { // decode -s string // format: 01xx10
break; default: fprintf (stderr, "ERROR: unknown character in -s option: %c\n", c); } maske <<= 1; } if (optlen > 0) fprintf (stderr, "WARNING: -s option string too long\n"); return toggleData; } [/c]
-
Thread
Parameterübergabe an eine Funktion
string nicht korrekt übergeben. Mein Programm sieht so aus: [c] int Funktion (char* string1, char* string2) { char str1[30], str2[30]; strcpy(str1, string1); strcpy(str2, string2); //hier
Also, bei mir mit dem GCC geht das so ohne Probleme... [c] void sendString (char * string1, char * string2, char * string3) { // blablabla } sendString ("Hallo", "Welt", "!"); [/c]
-
Thread
uart ausgabe: Speicherverständnis
Millionen Zeichen ein!"); [/c] ... dann ist ruckzuck Dein RAM verbraucht. Wenn Du aber das Macro PSTR(s) verwendest, dann verbleibt der String als Konstante im Flash. Dann musst Du aber schreiben: [c] uart_puts_P (PSTR("Bitte geben Sie einen String in Kleinbuchstaben, mindestens aber siebenhundertvierundachtzig Millionen Zeichen ein!")); [/c] ... da der Übergabeparameter hier ein anderer ist. uart_puts_P() erwartet einen String mit der Adresse
-
Thread
[c] sizeof(enum) bestimmen?
Also ich habe mal probiert: [c] enum E {eX, eY, eZ, eAnzahl}; uint8_t A[eAnzahl]; [/c] das nimmt der Compiler ohne zu murren.
Klaus Wachtler schrieb im Beitrag #2266863: >> Ne, ne, das ist ein eigener Datentyp. > > Nicht in C, aber in C++. Doch, auch in C. Klaus Wachtler schrieb im Beitrag #2266863: > als C kompiliere (ANSI-C), läuft es klaglos durch. Das ist doch kein Argument. Dass man jeden beliebigen Integer
-
Thread
PIC C18 String direkt als Parameter übergeben
Abend, folgendes Problem: ich möchte einer Funktion einen String direkt übergeben, ohne diesen vorher deklariert zu haben. also so: [c] WriteStringXLCD("test"); //so geht's nicht [/c] die Funktion: [c] void WriteStringXLCD(char *buffer){ char
funktioniert der Funktionsaufruf: [c] char testString []="test"; //so funktionierts WriteStringXLCD(testString); [/c] Hat einer Idee, wie ichs die Funktion verändern muss, dass es geht, oder ob das überhaupt mit dem C18 Compiler
-
Thread
Hilfe bei VS2022 C# XAML MVVM DataBinding
disabled) auch das entsprechende Icon aus dem Ordner \Images einblenden. Der Code war bis gestern: [c] <Button Width="50" Content="|c" Command="{Binding FirstCommand}" Margin="3"/> <Button Width="50" Content="c" Command="{Binding PreviousCommand}" Margin="3"/> <Button Width="50" Content=">" Command
implementiert. [code] public partial class Motor : INotifyPropertyChanged { public string posX = "-----"; private string posY = "-----"; public event PropertyChangedEventHandler? PropertyChanged; public Motor() { public string PosX
-
Thread
attiny2313 Timer0 - Digitale Uhrzeit
unsigned char temp; lcd_clear(); lcd_setcursor(2,4); itoa(hours/10,temp,10); lcd_string(temp); itoa(hours%10,temp,10); lcd_string(temp); lcd_string(":"); itoa(minutes/10,temp,10); lcd_string(temp); itoa((minutes%10),temp,10); lcd_string(temp); lcd_string(":
unsigned char temp; lcd_clear(); lcd_setcursor(2,4); itoa(hours/10,temp,10); lcd_string(temp); itoa(hours%10,temp,10); lcd_string(temp); lcd_string(":"); itoa(minutes/10,temp,10); lcd_string(temp); itoa((minutes%10),temp,10); lcd_string(temp); lcd_string(":
-
Thread
werbserver uip easyweb datenaustausch ethernet arm
berechnet werden. Zum Beispiel Variable i enthält eine Integer zahl, die soll als Menschen-Lesbarer String gesendet senden. Also ist der String zur Laufzeit berechnet. Da hast du zwei Möglichkeiten: 1) Wandle die Zahl mit sprintf in einen String um, speichere den String in ein Array und sende ihn mit
+udp - funktioniert jetzt. Wesentlicher Fehler war die fehlende Definition der UDP-Verbindung [c] uip_ipaddr_t addr; struct uip_udp_conn *c; uip_ipaddr(&addr, 192,168,0,124); c = uip_udp_new(&addr, HTONS(67)); if(c != NULL) { uip_udp_bind(c, HTONS(67)); } [/c] Frage
-
Thread
welche Signale liefert ein Handy an TX
Laufendem Programm '################################################# ' http://www.comwebnet.de (c)2005 '############################################### $regfile = "m16def.dat" $crystal = 16000000 $baud = 19200 Declare Sub Getline(s As String) Declare Sub Flushbuf() Declare Sub
String * 2 ' Scharf on/off Config Pinb.0 = Input Portb.0 = 1 ' Spg-Überwachung Config Pinb.1 = Input Portb.1 = 1 ' Alarm Meldelinien 1-4 mit pullup R im µC Config Pinc.0 = Input Portc.0
-
Thread
Umwandlung von ASCII-Zeichen, die Hexzahlen darstellen
Hallo zusammen, ich möchte gerne ASCII-Zeichen eines Strings, die Hexzahlen dastellen, in Dezimalzahl umwandeln. Also: Buffer[4]== '2' Buffer[5]== '7' Buffer[6]== '1' Buffer[7]== '0' 2710(hex) = 10000(dec)! wie kann ich das am besten in C bewerkstelligen
10=58, da bei gerader Stellenzahl wert hier negativ ist } [/c] Statt putch kann ein neuer String aufgebaut werden: s=s+c;
-
Thread
Zeitmessung mit TIMER Atmega8
125 OCR1A = 125-1; TIMSK |= (1<<OCIE1A); } void Anzeige(int sekunden) { char string[20]; itoa( sekunden, string, 10 ); lcd_clear(); lcd_setcursor( 0, 1 ); lcd_string(string); } int main(void){ DDRB = 0x00; PORTB = 0x00; TIMER1_interrupt_init();
OCR2 = 70; //Vergleichswert für Interupt } void Anzeige(int sek, int msek) { char string_sek[4]; char string_msek[4]; itoa( sek, string_sek, 10 ); itoa( msek, string_msek, 10 ); lcd_setcursor( 0, 2 ); lcd_string(string_sek); lcd_setcursor( 2, 2 ); lcd_string(",
-
Thread
String herausfiltern unbeachtet Groß- und Kleinschreibung
#3639220: > Ist die Programmiersprache, in der das geschrieben ist, geheim? Scheint eine mischung aus c++ und pseudocode zu sein, mit [c]using namespace std;[/c] :( und [c]#include<string>[/c] > Ansonsten wäre eine einfache Lösung, beide Strings z.B. komplett in > Großbuchstaben zu konvertieren und
Mikrocontroller.net-Forum" StringToFind = "Bes mIkrO" IsFound = False if(StringToFind.lower() in MyString.lower()): IsFound = True print(IsFound) [/c] Heinz Brill schrieb im Beitrag #3640869: > Das wäre doch ein klassischer
-
Thread
! Vorsicht NEWB 7-Segmentanzeigen via PC ansteuern
Wenn ich as bauen würde, würde ich pro Zeile einen µC nehmen um ein paar segmentanzeigen zu Multiplexen. Der Master µC sendet die Anzuzeigenen Werte jeweils per Software UART an den jeweiligen Anzeige µC. So habe ich es bei meinem Digitaltacho gemacht
selbe Adresse, legen wir ein Feld, das genauso lang wie der String ist. Das ist alles. Der Trick ist nur, daß wir beim Füllen des Strings in unserem Anwendungsfall am effizientesten mit einem Feld arbeiten können, während in anderen Fällen die Arbeit mit einem String
-
Thread
AVR Tutorial Frage: Lesen vom Flash
GCC-Attribut progmem, mit dem eine Variablendeklaration im static storage[5] markiert werden kann: [c]const int value __attribute__((progmem)) = 1;[/c] Effekt ist, dass die so markierte Variable nicht im RAM sondern im Flash angelegt wird. Wird durch "normalen" C-Code auf solch eine Variable zugegriffen
von mir/dir engefügten Kommentare auch raus Die nachfolgende Funktion liefert 0 zurück, wenn string_im_ram gleich "Hallo Welt" ist. Mit strcmp (String Compare) können wir zwei Strings vergleichen. Der Rückgabewert kann hierbei folgende Werte haben: 0 die Strings sind gleich >0 das erste
-
Thread
Array Zuweisung
>Es müßte also so: >char zeichen[5] ={'A','B','C','D','\0'}; >lcd_print(0,0,"%s",zeichen[2]); >gehen???? Nein. Eben nicht. %s erwartet einen Zeiger auf einen String und kein Zeichen. Mit "zeichen[2]" übergibst Du aber ein Zeichen.
Also bleibt auch die Möglichkeit, das das Array nur ein Beispiel ist, aber wofür? Für einen String oder für Einzelzeichen? Demnach ist es fraglich ob die Nullterminierung und der fehlende &-Operator das Problem ist, damit der String richtig ausgegeben wird oder der Ersatz von %s durch %c, damit
-
Thread
neues WinAVR macht Probleme
/* e */ lcdtxt(0x6E); /* n */ lcdtxt(0xA0); /* */ lcdtxt(0xA0); /* */ } [/C] ist nicht wirklich wartungsfreundlich :-) [C] void lcdtxt_string( const char* string ) { while( *string++ ) lcdtxt( *string ); } void aussen() { lcdtxt_string( "3 aussen " )
Karl heinz Buchegger wrote: > [c] > void aussen() > { > lcdtxt_string( "3 aussen " ); > } > [/C] Nicht ganz. [c] #define NBSP "\xa0" ... void aussen(void) { lcdtxt_string("3" NBSP NBSP NBSP "aussen" NBSP NBSP
-
Thread
String to ASCII Verständnissproblem!
der Zeichen und macht daraus wieder einen String. Was vestehst unter 'ASCII equivalent'? MfG Spess P.S. Die Zeilen: char c; c = input[i]; sind sinnlos.
Hi >Ich muss mit einem µC komunizieren und ihm befehle senden. diese befehle >müssen aber in ASCII sein und ich möchte deshalb einen String in ASCII >umwandeln. Gibt es sonst noch eine bessere Methode? Ein String besteht
-
Thread
Weis jemand, wie man mathematische Ausdrücke in C++ auswert
Hallo, hat jemand von Euch einen Tip, wie man mathematische Ausdrücke die als String vorliegen "12+3*(5-3)" auswertet und am Ende als int(C++) vorliege hat. Danke, Bernd
nehme folgt: 2 3 4 + * => 14 anstatt 10 Hier der Code: Find(n) liefert einen NULL terminierten String. cs ist ein STL stack<int> cs Klammern werden ja berücksichtigt, aber die Reihenfolge der Verknüpfungen + * werden nicht berücksichtigt. int x; char c; char* s=Find(n);
-
Thread
C#: Enumeration Bezeichnunganhand des Wertes
mit denen das machbar ist. Vorzugsweise verwendet man die Methode TryParse, die ist typsicher. [c] MyEnum enumValue; bool success = System.Enum.TryParse( "stringWert",out enumValue ); if ( success == false ) enumValue = MyEnum.defaultWert; int value = (int)enumValue; [/c] Du musst nach dem Umwandeln des Strings noch den Enum-Wert auf int casten. Gruß Markus
-
Thread
Pointer Gymnastik Ist mein Code zulässig?
Hallo zusammen Ich habe folgenden Code: [c] char *copy_from_until(unsigned char from, char until_sign, char *SearchIn) { char TempString[20]; char *pTempString; pTempString = TempString; SearchIn += from; //Offset definieren
der Startoffset vom übergebenen String und ein EndZeichen! Meine Frage bezieht sich nun auf den return Befehl. [c] return pTempString; [/c] Ist es zulässig, dass ich einen Pointer auf eine Funktions-lokale Variable zurückgebe
-
Thread
String innerhalb und ausserhaln von Funktionen
: Vorname: %s\n", innen->vor); strcat(innen->vor,"Gabi"); printf("expandString2: Vorname: %s\n", innen->vor); strcat(innen->nach,"Blaubeere"); printf("expandString2: Vorname: %s\n", innen->vor); printf("expandString2: Nachname: %s\n", innen->nach); } expandString2
vor); // strcat(innen->nach,"Blaubeere"); innen->p_nach = "Blaubeere"; printf("expandString2: Vorname: %s\n", innen->vor); printf("expandString2: Nachname: %s\n", innen->nach); } Ergebnis: expandString2: Vorname: ‰ðg expandString2: Vorname: ‰ðg expandString2: Vorname: ‰ðg expandString2
-
Thread
Usb-Gerät Seriennummer im Gerätemanager anzeigen
ich habe folgendes Problem: Ich benutze einen FX2LP USB Controller von Cypress (genauer: cy7c6813A), an dem ein externer EEPROM am I2C-Bus hängt. Jetzt habe ich ein Programm geschrieben (Visual Studio 2010, C++), mit dem man seine eigene Vendor ID (VID) und Product ID (PID) eingeben kann und
der Seriennummer willst du denn damit überhaupt machen? Die Seriennummer musst du als zuzätzlichen String in der dscr.a51 hinzufügen, nach dem Muster der anderen Strings da drin. zum Beispiel so: [code] StringDscr3: db StringDscr3End-StringDscr3 ;; Descriptor length db DSCR_STRING
-
Thread
Hargassner / Rennergy Touchtronic Netzwerkanbindung/Visualisierung
45 TVLs_3 °C 243 frame2 46 TVLs_4 °C 244 frame2 47 TR3 °C 245 frame2 48 TR4 °C 246 frame2 49 TB2 °C 247 frame2 50 TBs_2 °C 248 frame2 51 TVL_5 °C 249 frame2 52 TVL_6 °C 250 frame2
Außentemperatur): #!/bin/bash timeout 2 nc 192.168.0.12 23 | awk -W interactive '{print "T_aussen: "$8" °C"}' > nanoPK12_data.txt $8 ist dabei der 8.String (Leerzeichen ist das Standardtrennzeichen bei awk) und bei mir wie gesagt die Außentemperatur. Wenn ich das Skript mit ./testawk.sh starte bekomme
-
Thread
stdint.h, string.h Datentyp "Char"?
Datentypen sollte auch mit Typecasts gearbeitet werden. Das Problem entsteht dadurch, dass ich die string.h (auch C99 oder?) verwende. Hier möchte ich die Funktion strnlen() verwenden. Diese ist definiert durch "size_t (strnlen,(const char *, size_t));". So jetzt arbeite ich aber nur mit den Typen aus
schonmal mit 16Bit unicode chars zu tun hatte. Wobei mir persönlich diese nur aus Java und nicht aus C bekannt sind. Bei dem int8 kann ich auf jeden Fall von 8 Bit ausgehen... Ich habe Speicherbereiche in denen "irgendwelche Werte" oder aber auch ein String liegen kann. Wird durch eine Struct verwaltet
-
Thread
Retro-Projekt: NE555 basierter Elektronischer Würfel in THT
PrintString ); } // ----- ----- Unter-Routinen ----- ----- // void SerialPrintInputOutput(){ snprintf_P( PrintString, countof( PrintString ), // PSTR( "%5d Eingang: A=%c
=%c C=%c D=%c X=%d / Ausgang: M=%c L=%c R=%c Q=%c" ), cntOut[A], cntOut[B], cntOut[C], cntOut[D], FP, decOut[M], decOut[L], decOut[R], decOut[Q] ); Serial.println( PrintString );
-
Thread
C++ Pendant zu #define
Hallo zusammen, gibt es ein C++-Pendant zu der #define Direktive? Ich wollte letztens ein einfaches C-Programm in C++ umschreiben. Das Probem ist, dass #define ohne Datentyp arbeitet. In C++ würde ich das Konstrukt "const datatype name" verwenden, aber wie mache ich das z.B. mit folgender Zeile: [c]#define LED_PORT PORTB[/c] In C++ könnte das so aussehen: [c]const string LED_PORT = "PORTB";[/c] Aber C kennt doch gar keine Strings.
-
Thread
c# try ohne catch-inhalt?
Hi, ich möchte prüfen ob ein string der in einem objekt einer Tabelle landet eine Zahl ist. wenn der string eine Zahl ist, so möchte ich das Obejt meiner Tabelle entsprechend markieren, ich hinterlege also die zusätzliche Information dass es ein Integer ist. ist es keine Zahl, so wird das Datenformat string beibehalten, Es wird nichts gemacht! Ich löse das in meiner Anwendung so: [c] Int32 i32Zahl; try { i32Zahl = Convert.ToInt32(Text); // bei Text landen wir hier im catch! objektformat[
-
Thread
Fehler beim Schreiben einer LCD Library auf ATmega16
Ist ja interessant. Da gibt es eine Funktion namens 'send_string' [C] void send_string(char input) { uint8_t output; output=(uint8_t)input; write_data(output); } [/C] die einen einzelnen Character am LCD anzeigt aber sicher keinen String. Klarer
deinen Benutzer mit nicht passenden Funktionsnamen'. Dafür gibt es eine Funktion namens 'split_string', die dem Namen nach einen String in Einzelteile zerlegt (splittet), aber dem Code nach den String auf dem LCD ausgibt [C] void split_string(char *input) { while(*input!='\0') { send_string
-
Thread
Java <-> VBA - unterschiedliche Verhalten
i] = ((char)buff.read()); i++; } String DeviceInfo = new String (Received_DeviceInfo); String Devicename = LeftRightMid.left(DeviceInfo,12); String Firmwareversion = LeftRightMid.mid(DeviceInfo, 13,
Versuch doch mal [c] String DeviceInfo = buff.readLine(); [/c] statt [c] while (buff.ready() ) { Received_DeviceInfo[i] = ((char)buff.read());
-
Thread
C unsigned char |->const unsigned char *
hi wie wärs mit: [c] uc=&wert; [/c] anstatt: [c] uc=&str1; [/c]
> const unsigned char* uc; > long int zahl; > int Base=16; > uc=&str1; warum str1 ? Dein string steht doch in wert! [C] unsigned char wert[]="FF" long int zahl; zahl = strtol( wert, NULL, 16 ); xputi(zahl); [/C] oder, wenn manns ganz sauber machen will: [C] unsigned
-
Thread
JSON Objekt Feld erzeugen und auswerten
WSpeed; /* Windgeschwindigkeit */ int CloudsAll; /* Bewölkung in % */ String DateStamp; /* Zeitstempel als String */ String WetterText; /* Wetter als Satz */ } wetter_t; wetter_t wetter[10] = {0,}; [/c]
speed"]; wetter[i].WSpeed *= 3.6; wetter[i].CloudsAll = list[i]["clouds"]["all"]; String foo1 = list[i]["dt_txt"]; wetter[i].DateStamp = foo1; String foo2 = list[0]["weather"][0]["description"]; wetter[i].WetterText = foo2; } [/c]
-
Thread
Code Block Marker in C
Ich finde, sie machen das Gegenteil von dem was gut geschriebener Code sein sollte: gut lesbar! [c] int main(void) { system_init(); //! [setup_init] configure_usart(); //! [setup_init] //! [main] //! [main_send_string] uint8_t string[] = "Hello World!\r\n"; usart_write_buffer_wait(&usart_instance, string, sizeof(string)); //! [main_send_string] //! [main_rec_var] uint16_t temp; //! [main_rec_var] [/c]
-
Thread
Wie Strings aus dem PROGMEM holen
YEAH it works!!!! [c] char string_0[] PROGMEM = "Dies ist im"; char string_1[] PROGMEM = "Programmspeicher"; char string_2[] PROGMEM = "gespeichert"; char string_3[] PROGMEM = " Hallo Welt! "; char string_4[] PROGMEM
zu verschieben. Aber zu Dokuzwecken. Wie hast du denn hier [C] PGM_P string_table[] PROGMEM = { string_0, string_1, string_2, string_3, string_4, string_5, string_6, string_7 }; [/C] ausgedrückt, dass string_table ein
-
Thread
Zahlen als Zahl und String als ASCII in ein Array
in dem Array > drinsteht: > > string: [7,2, ,a,b,c,d]; Moment. Soll das erste Byte den Wert 7 oder den Wert 72 haben? Der erste zitierte Satz scheint genau letzteres anzudeuten char string[7] = { 72, ' ', 'a', 'b', 'c', 'd'
Plätzen mein String beretis > ASCII-codiert? > char string[] = {7,2,' ','a','b','c','d','\0'}; Verdammt zu langsam Karl Heinz Buchegger schrieb im Beitrag #2865514: > char string[] = { "H abcd" }; > >