-
Thread
[PIC] Hilfe bei C18 pointer
Inhalt [/c] 4. Wie kann ich einen Pointer übergeben? [c] void LCD_WriteString(const rom char *string); // Prototyp . . char *test; test = "Muh"; LCD_WriteString( test ); . . [/c] Ich habe
Hier ein Beispiel. Nun schnapp Dir aber ein gutes Buch oder Tutorial über C und arbeite das mal durch! :-) [c] #include <stdio.h> #include <string.h> void rueckwaerts(char*); int main() { char string[] = "Hello World"; // string anlegen
-
Thread
Nachkommastellen in c verwenden
Suchen nach modulo oder % in c ergibt z.B.: http://de.wikibooks.org/wiki/C-Programmierung:_Ausdr%C3%BCcke_und_Operatoren#Modulo_.25
Das ist aber keine Eigenschaft von der Zahl, sondern von printf. [c]printf("%.2f", 1.333333);[/c]
-
Thread
Char Array in einzelne Variable
sage. Aber wenn diese Funktion hier > unsigned char* hash=MD5::make_hash(zeitarray); einen String haben will, dann musst du ihr auch einen String geben. Wenn in deinen zu verhashenden Daten ein Byte mit dem binären Wert 0 vorkommen kann, dann hast du eben keinen C-String mehr und du kannst diese
Die Leute haben schon recht damit, wenn sie sagen, dass es ohne Grundlagen einfach nicht geht. Ein C-String hat genau definierte und bestimmte Eigenschaften. Kannst du die nicht erfüllen, dann hast du keinen C-String und kannst auch keine Funktionen benutzen, die von einem C-String ausgehen.
-
Thread
Uart String Empfangen Problem.
Es ist nicht verboten, dass du dir hier [c] void USART_Get_String( char* Buffer, uint8_t MaxLen ) { uint8_t NextChar; uint8_t StringLen = 0; NextChar = USART_Get_Char(); // Warte auf und empfange das nächste Zeichen
Auch ist es eine gute Idee, hier [c] int main(void) { USART_Init(31); /* Baudrate berechnet anhand der defines angaben im datenblatt vom µC (mit webseite rechner)*/ ... [/c] gleich mal einen String ausgeben zu lassen. Ebenfalls
-
Thread
I2C rätsehaftes Verhalten
Hallo! Dies hier funktioniert: [c] while (1) { upper=I2Creceive(0x04); lower=I2Creceive(0x05); temp=(float)(upper+(lower/256.0)); dtostrf(temp, 2, 2, test); string(test); cursorhome(); } [/c] Dies
); temp=(float)(upper+(lower/256.0)); dtostrf(temp, 2, 2, test); string(test); cursorhome(); httpStream(temp); } } [/c] Es funtioniert allerdings reibungsfrei wenn ich bei der I2C Routine die "repeated start" Prüfung (Und nur die!) auskommentiere
-
Thread
Komisches Verhalten mit lcd_puts
/**< 0: no wrap, 1: wrap at end of visibile line */ .... [/c] LCD_WRAP_LINES auf 0 gesetzt werden. Sonst pfuscht die String-Ausgabe da dazwischen. Also [c] #define LCD_WRAP_LINES 0 /**< 0: no wrap, 1: wrap at end of visibile line */ [/c] jetzt
. Das verstehe ich nicht. Schau Dir mal den Code an: (Die Funktion wird für jedes Zeichen des Strings aufgerufen. [c] void lcd_putc(char c) { uint8_t pos; pos = lcd_waitbusy(); // read busy-flag and address counter if (c=='\n') { lcd_newline(pos); }
-
Thread
DS18S20 und ATTINY 2313
aktualisiert die zweite Zeile nicht mehr, was sich darin äußert, dass die Temperaturanzeige nur durch einen µC-Reset aktualisiert. [c] case 83: { //Ausgabe GrundLCD lcd_setcursor( 0, 2 ); lcd_string("Temperatur:"); lcd_setcursor( 11, 2 ); lcd_string(array); lcd_home(); lcd_string("
GrundLCD lcd_home(); lcd_string(" HAPPY BIRTHDAY "); lcd_setcursor( 0, 2 ); lcd_string("Temperatur:"); lcd_setcursor( 11, 2 ); lcd_string(array); tick = 0; break; [/c]
-
Thread
GCC: --fmerge-constants ?
verstreut, sondern alles beisammen. Es geht um ein Menü. Konsequent gedacht, müssten also alle Strings in ein .h wandern, eine andere Datei. Wenn was geändert werden soll, muss man zwischen zwei Dateien hin und her schalten. Oder wilde Scroll-Orgien machen, wenn die Strings oben in der .c Datei definiert
, wenn die > Strings oben in der .c Datei definiert sind. > Jetzt will man den Text eines Menüpunktes eines Untermenüs ändern.. und > muss direkt eine neue Konstante anlegen und zwei Stellen ändern. OK. Da geb ich
-
Thread
C-Problem: Komma verschieben
Hallo C-Profis, ich habe ein Zahl die als Gleitkommazahl oder als String vorliegt, z.B.: 1.23456 bzw "1.23456". Ich möchte nun das Komma(Dezimaltrenner, evtl .(Punkt)) beliebig verschieben, also z.B
Wenn du die Zashl über UART / RS232 ausgibst, musst du sie vorher in einen "n Stellen" großen String umwandeln. n entspricht der Anzahl der Ziffern plus dem Komma. Bei dieser Umwandlung kannst du das Komma an jeder beliebige Stelle einbauen. Gleitkommzahlen solltest du auf µC die keine FPU haben
-
Thread
Hat schon jemand was mit dem FUJITSU VF60 Display gemacht?
0x24, 0x25, 0x26, 0x27 }; String centerString(String text); void setup() { delay(2000); Serial1t.begin(9600); Serial1t.write(0x1B); Serial1t.write(0x05); Serial1t.write(0x1B); Serial1t.write(0x0A); Serial1t.write(0x1B); Serial1t.write(0x17); Serial1t.write(6 + 1); //Helligkeit } void loop() { String string=centerString("Hannover 12:45"); for(int i=0;i<19;i++) { setCharAtvfd(0,i,string.charAt(i)); } for(int i=0;i<19;i++) { setCharAtvfd(0,i,string.charAt(i)); } } void setCharAtvfd
-
Thread
HTML Anzeige - Farbe Meldetext ändern
stehen. Du musst also den C++ Code so ändern, dass das generierte HTML Dokument wie gewünscht aussieht. In C++ gibt es IF Anweisungen. Egonwalter M. schrieb im Beitrag #7776084: > Lies meinen Post - die Seite kenne ich schon
[c] server.on("/errormessage", HTTP_GET, [](AsyncWebServerRequest *request) { request->send_P(200, "application/json", defective.c_str()); }); [/c] Damit hast du in deinem xhttp.onreadystatechange
-
Thread
Lightweight WS2811/WS2812 Library
] light_ws2812 ============ Light wight library to control WS2811/WS2812 based LEDS and LED Strings for 8-Bit AVR microcontrollers. Description =========== This is a small Ansi-C library to control WS2811/WS2812 based RGB Leds and strings. Only the 800kHz high-speed mode is supported
ich möchte die LED-Funktion als Statusanzeige für verschiedene Funktionen nutzen, also jede .c-Datei soll eine zugewiesene LED ansteuern. Allerdings habe ich keine Ahnung, wie ich die Daten der [c]struct cRGB led[..];[/c] mit in andere .c Dateien global übernehmen kann. Wenn ich [c]
-
Thread
util/crc16.h, CRC-Berechnung unterschiedlich µC<->PC
uart_puts(data); UARTWaitForACKSet; }[/code] Der Slave (UART_Data ist der komplette String, inkl \n) [code]//CRC Kontrolle: uint8_t CRClen = strlen(UART_Data); CRClen -= 6; char cCRC[6]; strncpy(cCRC, UART_Data+CRClen, 5); uint16_t
, hat Achim doch schon erklärt. Martin K. schrieb im Beitrag #3750578: >> Wie groß ist char in C#? > 16-Bit Unsigned Aha. Und welchen Datentyp hat string[x]? Und was steht in diesem char dann konkret drin? Sind das wirklich ASCII-Codes? Hast du überhaupt mal ganz grundsätzlich überprüft,
-
Thread
Von Microkontroller auf MySQL Datenbank schreiben
wichtig!) solltest du mindestens noch Folgendes machen: [code] $Gewicht = mysql_real_escape_string($Gewicht); $Aussentemperatur = mysql_real_escape_string($Aussentemperatur); $Luftfeuchte = mysql_real_escape_string($Luftfeuchte); [/code] Wenn alles nur Integer-Werte sind vielleicht sogar
Du kannst mit Wireshark auf deinem PC auch den Traffic zwischen yC und Webserver aufeichnen, sofern PC und yC am selben Switch stecken. Falls der Switch das Mitschnüffeln nicht unterstützt, besorge einen alten Hub, dann geht es auf jeden Fall.
-
Thread
C++-ifizierung von C-API mit callback
would use the CPP API void printpp(char *data, size_t length) { std::cout << std::string(data, length) << endl;; } // intermediate CB function as would use the C API to call CPP static void printcb(void *obj, char *data, size_t length) { Obj *p = reinterpret_cast
Base { void process(char *data, size_t length) override { std::cout << std::string(data, length) << endl;; } }; int main() { Printer p; foo_process(p.ctx()); } [/C]
-
Thread
serielle datenübertragung pc <> AVR
s[1]=(n&0x0F)+48; s[2]=0; //String mit 0 abschließen } [/c] Allerdings komme ich im moment nicht an die Harware ran. Ich habe noch nie mit Strings als "Rückgabewert" in Funktionen gearbeitet, von daher kann das hier auch großer
irgendwann mal auf die Frage, was das soll: [c] if ((n>>4)>9) s[0]=(n>>4)+'7'; else s[0]=(n>>4)+'0'; [/c] > Ich habe noch nie mit Strings als "Rückgabewert" in Funktionen > gearbeitet Hier wird gar nichts zurückgegeben, da steht
-
Thread
C Teile einer Struktur im Flash (const __flash)
nicht als const __flash deklarieren. Als member schon? Aber die Initialisierung mag er nicht... [c] struct inRAM{ int16_t variable; const struct inFLASH __flash * ptr; }; struct inFLASH{ const int16_t constant; const char * string; }; struct inRAM array[] = { {123
nett und verrate doch, was der Fehler ist. Mit Pointer auf separates Arrayelement geht es: [c] #include <stdint.h> struct inRAM{ int16_t variable; const struct inFLASH __flash * ptr; }; struct inFLASH{ const int16_t constant; const char __flash * string; }; const
-
Thread
Taschenrechner Selbstbau: Programmstrukturfrage
Einen einfaches Progrämmchen zur Auswertung eines als String gegebenen arithmetischen Ausdrucks in C-Syntax habe ich hier gepostet: https://www.mikrocontroller.net/topic/49925#847879 Ein klassischer Taschenrechner liest allerdings nicht den kompletten
Yalu X. schrieb im Beitrag #4545148: > Einen einfaches Progrämmchen zur Auswertung eines als String gegebenen > arithmetischen Ausdrucks in C-Syntax habe ich hier gepostet: > > Beitrag "Re: Weis jemand, wie man mathematische Ausdrücke in C++ > auswert" > Ein klassischer Taschenrechner
-
Thread
Arduino Sleepmode mit DS3231
); if (myFile) { Serial.println("DATA.CSV:"); String str = String(RTC.get()) + "," + String(RTC.get()) + "," + String(Temperatur_C); Serial.println(str); myFile.println(str); myFile.close(); //digitalWrite(
) { Serial.println("DATA.CSV:"); String str = String(RTC.get()) + "," + String(RTC.get()) + "," + String(Temperatur_C); Serial.println(str); myFile.println(str); myFile.close(); //digitalWrite(1, LOW); }
-
Thread
Float in String umwandeln
des Atmega32 ausgegeben werden soll. Um den Wert ausgeben zu können, muss ich ihn aber in einen String umwandeln. Ich habe es jetzt wie folgt versucht: [c] char buffer[32]; float Prozentwert; int Schalt_gesamt; int Schalt_falsch; Prozentwert=((Schalt_gesamt-Schalt_falsch)/Schalt_gesamt)*
[c]Prozentwert=((Schalt_gesamt-Schalt_falsch)/Schalt_gesamt)*100;[/c] Ist schonmal falsch, da bekommst du einen Integer raus der dann nur noch zum Float gewandelt wird (ohne Nachkommastellen). [c]
-
Thread
LED von VB-Programm aus dimmen
msdn.microsoft.com/de-de/library/system.io.ports.serialport.write(v=vs.110).aspx Nur eine davon, kann IMHO für [c] SerialPort1.Write(HScrollBar3.Value) [/c] benutzt werden, und das muss nun mal die STring-Version sein, denn die restlichen beiden passen von der Anzahl der Argumente her nicht. D.h. dein
nicht klarkommst, dann hättest du einfach den Code auf der µC-Seite entsprechend anpassen müssen. C kannst du ja angeblich. Ich allerdings würde das ganz ernsthaft bezweifeln...
-
Thread
Zeiger auf Strings
Zeichen offenbar erst ins RAM wo sie Platz verbrauchen. Das erscheint mir verschwenderisch, da die Strings ja schon im Programmspeicher stehen. Wie kann man das verhindern? [c] void writeString(char *data); int main(void) { writeString("Hallo"); writeString("hier"); writeString("Tasten
("Hallo")); writeString_p(PSTR("hier")); writeString_p(PSTR("Tasten")); } [/c]
-
Thread
Abfrage ob ein String vom UART empfangen wird
drangehängt. Wenn sich dadurch eine komplette Eingabezeile ergibt -> super, den jetzt kompletten String verarbeiten. Wenn nicht, gehts weiter in der Hauptschleife. [C] char receivedString[80]; uint8_t receivedStringLen; .... int main() { int c; .... receivedStringLen = 0; receivedString[0] = '\0'; while( 1 ) { c = uart_getc(); if ( !( c & UART_NO_DATA ) ) { // die UART hat was empfangen if( c == '\n' ) { // mach was mit dem jetzt kompletten String
-
Thread
Arduino Bit Shifting Problem
Hallo liebe Freunde habe kein kleines Problem möchte gerne einen String den ich ausgelesen habe folgendermaßen verändern [code]Quell String 80482780C1 80 48 27 80 C1 10000000 10010000 00100111 10000000 11000001 Ziel String 0112E40183 01
const int LCDRow = 4; #define LCD_COLS 20 #define LCD_ROWS 4 #define HD44780_LCDOBJECT String HITAG1 = "h"; String HITAG2 = "H"; String EM4102 = "U"; String EM4150 = "T"; String ver; String id; String lastscan; String idshort; String MTid; void setup() {
-
Thread
Suche Erklärung für C++ Code
in C, sondern lediglich in GNU-C. Dafür zunächst mal ein Beispiel für lokale Funktionen in GNU-C: [c] #include <stdio.h> void run (void (*f)(void)) { f (); } int main (int argc, char *argv
Elementinitialisierung angeben). S. auch folgendes Beispiel aus dem oben verlinkten Artikel: [c] std::vector<std::string> strings{2}; // A vector of two empty strings. std::vector<int> ints{2}; // A vector containing only the integer 2. [/c] Beide Vektoren werden syntaktisch exakt
-
Thread
c: Wie multiple return-Statements vermeiden?
->CR1, I2C_CR1_PE); SET_BIT(registerStruct->CR1, I2C_CR1_PE); //ITM_SendString("I2C bus error!\n"); return receive_count; } [/c] Ich glaube das ist das einzige Szenario, in dem ich außerhalb
func2(int a, float b, std::string c) { std::cout << "func2(" << a << ", " << b << ", " << c << ")\n"; return { 0 }; } result_type func3(int a, float b, std::string c) { std::cout << "func3(" << a << ", " << b << ", " <<
-
Thread
SD-Card (FAT32), Datei auslesen an bestimmter Stelle?
() ) != '\n' ) sd_card_string[n++] = c; sd_card_string[n] = '\0'; [/C] Jetzt würds mich aber doch interessieren, wozu man auf einem µC die n-te Zeile aus einem Textfile braucht.
) { while( ffread() != '\n' ); } // Phase 2 n = 0; while( ( get_c = ffread() ) != '\n' ) sd_card_string[n++] = get_c; sd_card_string[n] = '\0'; WDH3224_TEXT(20,0,sd_card_string,1,0); rs232_text(sd_card_string); rs232_text
-
Thread
Text in Variable??
Wenn du c kannst, Assembler aber nicht, dann mach es doch in c. Ansonsten http://www.avr-asm-tutorial.net/avr_de/index.html Oliver
cpi temp1, 0 ; Endezeichen (0) erreicht? breq lcd_flash_string_2 ; JA, dann Sprung zu ; lcd_flash_string_2 call lcd_data ; (NEIN), dann Zeichen ausgeben rjmp lcd_flash_string
-
Thread
STM32F103C8T6 mit Arduino Serial funktioniert nicht
_SendString("First String\n"); } } [/code] Ich kann nur Daten bei USART1 empfangen
Fehlt nur noch der Code für I2C und SPI...
-
Thread
STK 500 LED'S über UART
t i; int zahl; // int test=5; char c; char* s; char string[length+1]; while(1) { zahl=atoi (string); if (zahl==4) { PORTB &= ~(1<<PB4); } s=string; i=0; do { c=uart_getc();
Mal ne blöde Zwischenfrage: Wozu sammelst du die Zeichen in einem String? Warum nicht einfach so [C] while( 1 ) { c = uart_getc(); if( c >= '0' && c <= '7' ) { c = c - '0'; // aus dem ASCII Code die Ziffer machen PORTB = 0xFF;
-
Thread
i2c Übertragung fehlerhaft. (falsche Codierung )
Sind das nicht String und keine Zahlen? Ein String, zufällig nur Ziffern und ein Komma enthält?
DAVID -. schrieb im Beitrag #4881176: > die ersten zahlen werden ja auch MIT Komma übertragen [c] Wire.write("123,45678910 "); [/c] Das ist keine Zahl, das ist ein String. DAVID -. schrieb im Beitrag #4881176: > wenn ich zum senden aber > Wire.write((byte)(Speichersenden)); > nutze wird
-
Thread
Commando aus String suchen..
Jan H. schrieb im Beitrag #5150979: > Suchen diese Funktionen auch mitten im String? Ja. schau mal hier: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/011_c_arrays_013.htm
Ich nehme gerne folgendes: [c] #include <string.h> char *RX UART_RX_Buffer[0]; if(strstr(RX, "set") != NULL){ //da seht set im RX: Kommando set ausführen } [/c] Must halt stat "set" einen pointer auf ein Element in
-
Thread
string speichern
uart_gets( char* SDBuffer, int BufferLen ) { int i = 0; char c; while( ( c = uart_getchar() ) != '$' && i < BufferLen - 1 ) SDBuffer[ i++ ] = c; SDBuffer[i] = '\0'; } mfg kay
' eingetragen. Nur weil das für dich Ziffern sind, haben die erst mal keinerlei Sonderbedeutung. String ist String. Und ein String (also ein Text) kann selbstverständlich komplett aus Ziffern bestehen, also zb "13092011" Die weiterführende Frage lautet dann: wie kann man aus deinem String, der eine
-
Thread
Telit GM862-Quad Problem
ich dann beim Empfangen auch eine LED anschalte, empfängt er ein Byte und bleibt dann bei... [c]while(RI != 1);[/c] ...hängen. Scheinbar wird nur ein Byte empfangen und dann bleibt der Empfangsbuffer leer. Sende- und Empfangsfunktion sehen nun so aus: [c] // SEND STRING TO UART-------------
nicht weitergeholfen. Nach dem ersten Byte ist schluss. Hier ist nochmal die Funktion "receiveString()": [c]// RECEIVE STRING FROM UART------------------------------------------------------------------------ void receiveString(unsigned char *string) { unsigned int i = 0; while(SBUF != 13)
-
Thread
Brauche Hilfe=)
zurückgekommen. Folglich ist die Hardware und der Aufbau des Max232 richtig. Also liegt es nur am µC-Programm. Könnte mir nicht bitte einer von euch einen Quellcode in C posten, der via Rxd am µC einen String einliest und ihn dann via TxD wieder zurück zum Max232 bzw. zum PC sendet? Ich schreibe meinen String im Terminalprogramm mit com.Open(); com.WriteLine("String"); und lese ihn mit com.ReadLine(); com.Close(); in eine Variable ein. Folglich muss der µC solange Zeichen aus dem Ringbuffer
-
Thread
strlen-Funktion Funktionsweise
Es wird beginnend vom String-Anfang gesucht, s wird auf die Anfangsadresse des Strings gesetzt: [c] s = str [/c] Es wird so lange gesucht, so lange sich an der Position auf die s aktuell zeigt etwas ungleich 0 befindet:
dem String-Anfang str ergibt die String-Länge: [c] s - str [/c]
-
Thread
ADC Wert ungenau
); uart_puts(String2); uart_puts(String3); uart_puts(String4); //USART_Transmit(S); _delay_ms(100); } }
ist ganz einfach... Du machst einfach aus [c] sprintf(String1,"LDR1: %i g \n", ADCWert1); [/c] [c] sprintf(String1,"LDR1: %f g \n", ADCWert1*1.0); [/c] und schon hast du deine Gleitkommazahlen.
-
Thread
Problem mit if-Anweisung im USART-Receive-Interrupt AtMega128
Dein Problem liegt aber grundlegend woanders. Denn sowas macht man nicht in einem Interrupt: [c] if(strcmp(buffer, "Pause")==0) : USART_Transmit_String("pausiert"); [/c] Solche Verwaltungsaufgaben macht man in der Main-Loop. Interruptroutinen sind prinzipiell kurz und knackig
Dein Problem liegt aber grundlegend woanders. Denn sowas macht man nicht > in einem Interrupt: > [c] > if(strcmp(buffer, "Pause")==0) > : > USART_Transmit_String("pausiert"); > [/c] > Solche Verwaltungsaufgaben macht man in der Main-Loop. Interruptroutinen > sind prinzipiell kurz
-
Thread
Richtiges C++ hardwarenah
Naja, wenn man man C++ so verwendet wie es einem in den Lehrbüchern nahe gebracht wird, dann ist da immer dynamisches Speicherhandling dabei. Fast die gesamte std::-Lib egal ob Strings, Listen, vectoren... kommen ohne nicht
temp schrieb im Beitrag #3896107: > Naja, wenn man man C++ so verwendet wie es einem in den Lehrbüchern nahe > gebracht wird, dann ist da immer dynamisches Speicherhandling dabei. > Fast die gesamte std::-Lib egal ob Strings, Listen, vectoren... kommen
-
Thread
ATMEGA2561 SRAM wird knapp
alle String mit PROGMEM festschreiben und dann über Pointer verwenden?
Tendenziell ist es zwei mal im String möglich und einmal am Ende.
-
Thread
Int zu String
hallo, ich benutze einen 16bit ad wandler um Messwerte von einem Sensor einzulesen. die Bits, welche ich vom ad wandler bekomme werden in eine "unsigned int" variable gespeichert. Wie kann ich die diese variable nun in einen "char" umwandeln um sie auf die serielle schnittstelle legen zu können? Programm zum einlesen der einzelnen bits vom ad wandler: unsigned int spi_readData() { int i; unsigned int rByte=0; CS=0; for(i=0;i<16;i++) { rbyte<<=1; rByte|=DIN; SCLK=0; SCLK=1; } CS=1; return rByte; }
-
Thread
Speicher voll durch Multiplikation
ersetzt! Also ich habe das von mir zuerst gepostete Programm genommen und folgendes gemacht: [c]#define PRINT(string, ...) printf_P(PSTR(string), ##__VA_ARGS__)[/c] durch [c]#define PRINT(string, ...) uart_puts_p(string)[/c] ersetzt und komme auf 95% Auslastung, was für mich reicht.
S. G. schrieb: > [c]#define PRINT(string, ...) uart_puts_p(string)[/c] machs Sicherheitshalber so [C] #define PRINT(string) uart_puts_p(string) [/C] dann sucht dir der Compiler raus, wo du nicht einfach
-
Thread
Raspberry Pi C-Programmierung: RS232 Read Problem
lass dir hier [c] printf("Nachricht von TCP/IP Schnittstelle: %s\n",tcpip_buffer); [/c] den String in tcpip_buffer mal so ausgeben [c] printf("Nachricht von TCP/IP Schnittstelle: #%s#\n",tcpip_buffer); [/c]
[/c]
-
Thread
leeren String filtern
[c] (cbxAutomatischeBere.Checked == true && string.IsNullOrEmpty(GlobaleVariablen.Spannung) != true) == true [/c] ich dachte, dass ich mithilfer dieser Bedingung einen leeren String herausfiltern
Εrnst B. schrieb im Beitrag #6375864: > && !string.IsNullOrEmpty(GlobaleVariablen.Spannung) ... [c] !string.IsNullOrEmpty(GlobaleVariablen.Spannung) == true || false [/c] ?
-
Thread
anwendung uart_getc() von fleury
Strings vergleicht man übrigens in C so: [C] #include <string.h> .... .... if( strcmp( Eingabe, "aus" ) == 0 ) { // Eingabe ist gleich dem String "aus" ... [/C] Tu dir selbst
ein Kandidat. Der String "aus" ist nun mal nicht gleich dem String " aus", oder "aus\n". [C] void uart_puts_hex( const char* String ) { char Digits[5]; while( *String ) { itoa( *String, Digits, 16 );
-
Thread
AVR asm code bewerten und kritisieren bitte!
Attila schrieb im Beitrag #1974444: > Aua! Ja das mit den 5HZ stimmt natürlich! > > Was ein "string" ist weiss ich nicht aber das werde ich hier nachlesen > und umsetzen. Ein string ist eine Ansammlung von Textzeichen. "Attila" ist ein String. Er besteht aus den Buchstaben 'A' 't' 't' 'i' 'l
SRAM abgelegt werden soll. Selbiges für die Ausagberoutine lcd_string hole Zeichen über Z ist es 0? ja -> lcd_string_ende Zeichen ausgeben spring nach lcd_string lcd_string_ende: return Z Register
-
Thread
LCD Inhalt regelmässig aktualisieren
Zeile: gehen wir von folgendem fiktiven szenario aus. Ich gebe auf meinem Display folgendes aus: [c]char out[21]; sprintf(out, "Menu1: TEST"); set_cursor(0,1); lcd_string( out ); char bufferuC[21]; strcpy( &bufferuC[0], out); [/c] dadurch steht in meinem bufferuC das was im
void lcd_string_buffer( const char* str ) { while( *str ) lcd_data_buffer( *str++ ); } void lcd_home_buffer() { actLine = 0; actColumn = 0; } [/c]