-
Thread
Strings in if-Abfrage
Moin, ich versuche gerade einen über die UART erhaltenen String in einer if-Abfrage zu bearbeiten. Wenn der String mit dem von mir formulierten Begriff übereinstimmt, soll in die if-Schleife gewechselt werden. Hier mal der Code: [c] if (strcmp(Recived_String, version) == 0) { Send_UART_Char(Version); BT_String(Version, 0); strcpy(Recived_String, dummy); } [/c] Leider wechselt er nicht in die Schleife. Auf welche Unsichtbaren Zeichen muss ich bei der Abfrage achten? Gruß
-
Thread
MSP430 ADC sehr merkwürdige Werte
**********************************************************/ void my_itoa(int32_t zahl, char* string) //mikrocontroller.net { uint8_t i; string[11]='\0'; // String Terminator if( zahl < 0 ) // ist die Zahl negativ? { string
} }[/c]
-
Thread
Modemantwort von Siemens M20 verarbeiten ?
Array voll ist while( NextChar != '\n' && StringLen < MaxLen - 1 ) { *Buffer++ = NextChar; StringLen++; NextChar = uart_getc(); // ### 2 } // Noch ein '\0' anhängen um einen Standard // C-String daraus zu machen
NextChar = uart_getc(); // ### 2 } } // Noch ein '\0' anhängen um einen Standard // C-String daraus zu machen *Buffer = '\0'; } [/C]
-
Thread
avr-gcc Funktions-Rückgabewerte
Ich glaube, du solltest das Kapitel über Datentypen in irgendeinem Grundlagenwerk zu C nocheinmal durchlesen. twi_readTemp() liefert ein char zurück, lcd_out() erwartet einen Zeiger auf char. &t ist die Speicheradresse der Variablen t. Strings werden in C mit \0 beendet.
schon alles weiter oben. Dein Problem sind nicht Pointer und Operatoren, sondern die Darstellung von Strings in C. Oliver
-
Thread
PHILIPS VP5500 VoIP Telefon bei Pollin
@Andre K (Gast): Versuch mal string.h mit in die Includes auf zu nehmen... ansonsten: XCode installiert? Bzw. c libraries unter linux installiert? Gruß
M. S. schrieb im Beitrag #1678198: > @Andre K (Gast): > Versuch mal string.h mit in die Includes auf zu nehmen... ansonsten: > XCode installiert? Bzw. c libraries unter linux installiert? > > Gruß Danke, das hat funktioniert. Gruß
-
Thread
Frage zu char arrays
beschreibst du mit dieser Zuweisung ein einzelnes Zeichen. In das schreibst du die _Adresse_ des Strings (bzw das, was davon in das Zeichen reinpasst). Das ergibt keinen Sinn, und der Compiler sollte da auch warnen. Einen String kopierst du mit strcpy: [C] strcpy(text, "Das ist ein Text"); [/
Stefanus schrieb im Beitrag #3520653: > Du must den String in das Array kopieren: Naja, wenn er von Anfang an drinstehen soll, geht das natürlich auch mit einer Initialisierung: [c] char text[] = "Das ist mein Text"; [/c] Wird in den eckigen Klammern
-
Thread
int Array abschneiden
String einfach an der gewünschnten Stelle: [c] int posi=strchr(text,' '); text[posi]=0; [/c] Und den können wir jetzt an printf übergeben: [c] printf("Dein Name ist %s",name); [/c] Umkopieren des Arrays war wieder nicht nötig. Wenn ich den String (das Array) für spätere Verwendung nicht abschneiden bzw modifizieren will, muss ich der Ausgabefunktion eine Längenangabe mit geben: [c] int len=strchr(text,' '); printf("Dein Name ist "); fwrite
-
Thread
Dezimal nach Hex-Umwandlung PIC18
Hallo dankle für die posts. atoi() wäre auch mein Favorit gewessen, gibts aber in C99 nicht mehr.
Gerhard schrieb im Beitrag #7974584: > atoi() wäre auch mein Favorit gewessen, > gibts aber in C99 nicht mehr. Doch gibt es. Von C89 bis C23. Steckt in stdlib: https://en.cppreference.com/w/c/string/byte/atoi
-
Thread
Empfangene Daten der UART vergleichen
{ c = ugetchar0(); // hole das Zeichen if( c == '\n' ) // das vereinbarte Ende der Übertragung, zb '\n' { receivedString[receivedCnt] = '\0'; receivedCnt = 0;
receivedCnt < sizeof(receivedString) ) { receivedString[receivedCnt++] = c; } } } // end if( ukbhit0() ) } // end while } [/c]
-
Thread
Kompletter Einsteiger: welcher µC, um Knopfdruck an PC weiterzuleiten?
dämliches Gatter mit Technologie von 1973 braucht auch erst mal Logik und Entprellung. Da kommt der µC für einen Euro daher, erkennt eine Schaltflanke zuverlässig, kann Entprellung machen und nebenbei noch eine LED zur Kontrolle blinken lassen, später auch mal Strings an den PC senden usw. usf. Willkommen
dämliches Gatter mit Technologie von 1973 braucht auch erst mal > Logik und Entprellung. Da kommt der µC für einen Euro daher, erkennt > eine Schaltflanke zuverlässig, kann Entprellung machen und nebenbei noch > eine LED zur Kontrolle blinken lassen, später auch mal Strings an den PC > senden usw.
-
Thread
PIC, String aus dem Flash ausgeben
Hallo, ich möchte einen längeren String auf das LCD ausgeben und finde zZt nur die Lösung mit der retlw-Tabelle oder jeden Buchstaben schicken. Mein Problem: Wie kann ich den String aus dem Flash mit Hilfe eines Zeigers auslesen? Im Beispiel
Feld selbst in einen Block retlw 'T', retlw 'e' usw aufteilt. Dann funktioniert das Einlesen des Strings ganz einfach: ; NUllterminierten String ausgeben (evtl. 256 Byte Grenze beachten !) LCD_String: movlw .0 ; zu Beginn Akku auf 0 setzen (1.Zeichen) movwf Adresse LCD_String
-
Thread
int to char[] to uint8_t[] to char[]
notwendig. Du machst auch keine, das ist eine einfacher Typcast. so geht es etwas einfacher. [c] write_to_file(tempmax_file, (uint8_t*)&write_buffer ); [/c] Die Frage ist, warum man es als Klartext (string) in die Datei schreibt. Man könnte auch die int-werte direkt in die Datei schreiben
darauf das es falsch sein muss? > > Es ist beides zulässig. Weil es verschiedene Dinge sind. [c] &write_buffer [/c] ist die Adresse des Pointers der auf write_buffer zeigt. Dieser liegt nun zufaellig an genau der selben adresse wie der Start des Arrays. [c] write_buffer [/c] und [c]
-
Thread
Probleme mit usbprog
avrdude-5.10-257.5.x86_64 ~> find /usr/lib64/ -name "libusb*so" | xargs nm -A | grep usb_get_string /usr/lib64/libusb-1.0.so:0000000000003cd0 T libusb_get_string_descriptor_ascii /usr/lib64/libusb.so: U libusb_get_string_descriptor_ascii /usr/lib64/libusb.so:0000000000001b70 T usb_get_string /usr/lib64/libusb.so:0000000000001c70 T usb_get_string_simple ~> find /usr/lib/ -name "libusb*so" | xargs nm -A | grep usb_get_string /usr/lib/libusb-1.0.so:000034c0 T libusb_get_string_descriptor_ascii
-
Thread
Bascom I2C Eeprom
auf dem Avr Evaluationsboard von Pollin (Version:2.0.0). Hier der Code: [code] '============I2C EEprom schreiben/lesen ================================== ' =========== Für 24C256 EEprom ===================== ' 8MHz Quarz ' LCD auf Port B , ' $regfile = "m32def.dat" $crystal = 8000000
8mhz Quarz und habe einen Atmega 32. Zitat aus dem o.g. Code: Hier der Code: '============I2C EEprom schreiben/lesen ================================== ' =========== Für 24C256 EEprom ===================== ' 8MHz Quarz ' LCD auf Port B , ' $regfile = "m32def.dat" $crystal = 8000000
-
Thread
LCD, HD44780 und KS0076
********************************/ void lcd_puts_p(const char *progmem_s) /* print string from program memory on lcd (no auto linefeed) */ { register char c; while ( (c = pgm_read_byte(progmem_s++)) ) { lcd_putc(c); } }/* lcd_puts_p */ /***************
uint8_t x, uint8_t y); /** @brief Display character at current cursor position @param c character to be displayed @return none */ extern void lcd_putc(char c); /** @brief Display string without auto linefeed @param s string to
-
Thread
8x8 Matrix Laufschrift
Die Anzeige ist "horizontal" aufgebaut. [c] 0 1 2 3 4 5 6 7 1 VRAM[0] .. VRAM[7] 2 .. 3 .. 4 .. 5 .. 6 .. 7 [/c]
Inzwischen klappt es schon einigermaßen. [c] void DisplayString( const char *s) { uint16_t len; uint8_t i, d, u1, u2; len = strlen(s)*8; for (uint16_t x = 0 ; x < len ; x++ ) { i = x >> 3; // Index vom ersten Zeichen
-
Thread
Arduino / Atmel UART Fehler
/* so lange *s != '\0' also ungleich dem "String-Endezeichen(Terminator)" */ uart_putc(*s); s++; } } void uart_init(void) { UBRR0 = UBRR_VAL; UCSR0B |= (1<<TXEN0); // Frame Format: Asynchron 8N1 UCSR0C = (1<<UCSZ01)|
dann noch immer nicht klappt - bin ich zugegebenermaßen > erstmal ratlos. Liegt es vielleicht an dem C# Programm? Augenscheinlich liegt es am C# Programm.. Console.WriteLine(sp.ReadLine()); ..heisst bestimmt, dass der empfangene String ebenfalls mit einem "return" abgeschlossen sein
-
Thread
Code für 7-Segmente Ausgabe
natürlich auf deine Vorlieben geändert werden, ansonsten kann das direkt übernommen werden. uart_string_complete kann im Mainloop ausgewertet werden: [c] if(uart_string_complete) { strcpy(number_buffer, uart_string); number_buffer_length = strlen(number_buffer); number_buffer_count = number_buffer_length; uart_string_complete = 0; } else { //DeMultiplexer-Funktion } [/c] DeMultiplexer-Funktion ASCII -> BCD: String number_buffer Zeichenweise von hinten nach vorn abklappern und auf Siebensegment-Anzeige
-
Thread
Compiler meckert, dass ich ein ";" vergessen habe.
"0" ist ein String. '0' ist ein Char.
schrieb im Beitrag #4525086: > Kann mir aber bitte noch jemand sagen, wie ich eine Zahl in einen String > umwandel? Das steht in jeden C-Buch.
-
Thread
int float string
mach ne' Typenumwandlung indem du einfaches (float) for die INT-variable stellst. int a; float b,c; c = b * (float) a; sollte funktionieren. Frage 2: keine Ahnung ich verwende printf nicht ist mir zu aufgebläht. Ich mag C nur für uC's(WIN-AVR) und verwende lieber dtostrf (funzt aber gut um float to string zu wandeln). Gruß Bernhard
-
Thread
Problem mit STM32F103 und RAM-Größe
strings einfach mit [c] const char *string = "string im flash" [/c] ablegen
durch [c] volatile uint_fast8_t i, j, k, l; [/c] ersetzen und nochmal die Zeit stoppen.
-
Thread
Projekt : GPS Tracker
82 F8 B9 |Z½ ˆJ Š.ˆ ˆ N‚ø¹|" "000000030 CE 04 48 0A 08 0E 88 82-8C 8C 8C 4A 48 88 8C CC |Î H. ˆ‚ŒŒŒJHˆŒÌ|" "000000040 78 C4 B9 EE BF 29 29 29-29 A9 58 3A 28 F3 EF 59 |xĹî¿))))©X:(óïY|" "000000050 5A BD 0E 88 8C 8C 88 08-8C CC 8C 8C 8C 8C 4E 8A |Z½ ˆŒŒˆ ŒÌŒŒŒŒNŠ|" "000000060 28 F3 F7 99 59 29 29 29-29 29 29 59 95 AD 8C 8E |(ó÷™Y))))))Y•ŒŽ|" "000000070 8C 8C 8E CC 0A C4 B9 BE-08 8A 88 88 4C 8A 4A 4C |ŒŒŽÌ.Ĺ¾ ŠˆˆLŠJL|" "000000080 8C 8C 8A 0C 8A 48 88 0C-8C 88 0C 0A 8C 08 0C 8A |ŒŒŠ ŠHˆ Œˆ .Œ Š|" "000000090
-
Thread
JAVA Programm um Passage in C++ Code zu ändern
Hallo zusammen, ich bin gerade dabei, eine Laufschrift mit MAX7219 8x8 Led Matrizen zu bauen. Das Projekt ist soweit auch schon fertig. Die Laufschrift kann per Schalter zwischen starrem Text und Laufschrift umgestellt werden. Nun meine Frage: Wie löse ich das Problem am besten, um den Text, der dargestellt werden soll, ohne die Arduino Software über USB auf einen Arduino Nano China Clon zu laden? Vielen Dank für eure Antworten!
-
Thread
Frage zur seriellen Eingabe (Buffer)
// Noch ein '\0' anhängen um einen Standard // C-String daraus zu machen *Buffer = '\0'; } [/C]
hast du dann den String im Array vorliegen und kannst mit // den C-Stringfunktionen darauf arbeiten } [/C] Siehe auch http://www.mikrocontroller.net/articles/FAQ#Wie_funktioniert_String-Verarbeitung_in_C.3F für
-
Thread
Ideen für Magic-Strings
ich mir gerade die Frage, wie ich da wieder rauskomme. Im Prinzip benötige ich so eine Art Magic String (z.B. 7d 6c 1f 69 5f 98 79 4c a1 d0 90 11 93 a6 68 34), wenn der Microcontroller den hört, soll der in den normalen Modus zurückschalten. Allerdings könnte es ja sein, dass genau der Magic-String
Warum so kompliziert? Wozu ist der µC in dem Aufbau...? Mein Vorschlag: Ersatzlos streichen. Der ESP hat mehr Dampf als viele andere µC. Auch kann er OTA Update.
-
Thread
AVR Struct Zugriff
stringabfragen is mir noch nix > eingefallen hier hilft anscheinend nur if(strncmp(..)==0) ... kurze strings lassen sich zu einer Zahl zusammenbauen: char c[4]={'2','a','5','s'}; long int t = (c[0]<<24)|(c[1]<<16)|(c[2]<<8)+c[3]; Das ganze kann dann in ein switch. Über Sinn und Unsinn davon lässt sich
) y = 1; else if (x.b) y = 2; else if (x.c) y = 3; } [/c] [c] /* Variante 2 */ int main(void) { volatile unsigned char x; volatile int y; if (x & 1) y = 1; else
-
Thread
Uhr mit hilfe von Uhrenquarz
kann. Wenn die Daten öfters überschrieben werden, wäre ein ein externes EEPROM besser geeignet. I2C EEPROM, I2C RTC, ATmega8 fertig.
bekomme ich es einfach nicht hin. habe schon alles mögliche ausprobiert! Versuche das ganze über C# zumachen. //Sendefunktion der Zeit zum stellen string Time = DateTime.Now.ToLongTimeString(); private void Uhrstellen(object sender, EventArgs e) { string help;
-
Thread
2 Sketche vereinen
Serial.println(Tag); Serial.print("Inahlt: "); Serial.println(Inhalt); } // Function im String zu loeschen void Loschen (char* str) { int len = strlen(str); for (int c = 0; c < len; c++) { str[c] = 0; } } void ZuLang (char ch, char* str) { char *TagNachr
TagFlag = false; InhaltFlag = false; } else { //fuegt ein eingelesenen Wert dem String hinzu str[strlen(str)] = ch; } } [/c] 2. Empfänger [c] /** * MISO -> 12 * MOSI -> 11 * SCK -> 13 * CE -> 8 * CSN -> 7 */ #include <SPI.h> #include <Mirf.h> #include
-
Thread
TPA81 an STM32F103 I2C Problem
)) { TFT_ShowString(10,90,"I2C_M_Trans2: FAIL"); } TFT_ShowString(10,90,"I2C_M_Trans2: OKAY"); while (I2C_CheckEvent(I2C1, I2C_FLAG_BUSY)) { TFT_ShowString
)) { TFT_ShowString(10,150,"I2C_M_Trans3: FAIL"); } TFT_ShowString(10,150,"I2C_M_Trans3: OKAY"); I2C_Cmd(I2C1, ENABLE); while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_RECEIVED)) { TFT_ShowString
-
Thread
LCD 202A Conrad und Atmega 8
Zeile setzen lcd_setcursor( 0, 2 ); // erneut Text ausgeben, aber diesmal komfortabler als String lcd_string("Hello World!"); while(1) { } return 0; } [/c] lcd_routines.c [c] // Ansteuerung eines HD44780 kompatiblen LCD im 4-Bit-Interfacemodus // http://www.mikrocontroller.net
Habe dann an meiner Steckerleiste gemessen und jeder Pin hat 5V gegen Masse. Habe dann direkt am µC gemessen. Pin2 gegen Pin8 und auch 5V. µC defekt?
-
Thread
const String mit parity bit
stringcreater wrote: > ist denn "te""xt" immer das gleiche wie "text"? Zumindest auf jedem C-Compiler, der zu ANSI C89/ISO C90 und höher kompatibel ist.
[c] #define P(x) x^(((x<<1)^(x<<2)^(x<<3)^(x<<4)^(x<<5)^(x<<6))&0x80) char s[] = {P('H'), P('a'), P('l'), P('l'), P('o'), 0}; [/c] Peter
-
Thread
Funktion für string kopieren von Position a bis b
pepe schrieb im Beitrag #2132549: > in c geht das nicht. Strings gibts in C eigentlich sowieso nicht. Allenfalls Pointer. Einfach das Offset auf den Pointer draufrechnen... strncpy( string1, "Hallo"+3, 2)--> "lo"
Und das hier: [c] stringbuffer( strlen(string2) ) = ' '; [/c] macht auch nicht was Du denkst (und nicht nur wegen der falschen Klammmern)
-
Thread
Bascom UART Interrupt Problem
Return End If If Id_str = "$GPRMC" And Mc = "" Then Mc = Mid(buff_str_ovrl , C_st , B_cpd) ' Puffer in den String kopieren, ohne $, ohne CR End If If Id_str = "$GPGGA" And Ga = "" Then Ga = Mid(buff_str_ovrl , C_st , B_cpd) ' Puffer
Hallo Karl Heinz, stimmt das macht Sinn. Aber ich kopiere den String ja eigentlich mit: [code] Id_str = Mid(buff_str_ovrl , C_st , Id_str_lg) ' ID String holen, ab 2tem Zeichen, ohne $ [/code] Oder reicht es so nicht? Wie würdest du es lösen? Gruß
-
Thread
mehrere strings nacheinander an Funktion (Arduino)
Char_Anzeige_Update(string2); Char_Anzeige_Update(string3); ... } [/c]
. Also etwa so: [c] char string[] = "Hallo-Arduino"; char string1[] = "Beispieltext"; char string2[] = "Zahlen-123456789"; char *derText = string; void Char_Anzeige_Update() { if (*s == '\0') { s =
-
Thread
Atmega88 Servo mit Poti steuern
_t ADCL_C0; uint8_t ADCH_C0; uint8_t ADCL_C1; uint8_t ADCH_C1; char ADC_StringC0 [16]; char ADC_StringC1 [16]; void ADC_Init (void) { ADMUX |= (1<<REFS0); ADCSRA |= (1<<ADPS2) | (1<<ADPS1
, 10); itoa (ADC_C1, ADC_StringC1, 10); lcd_setcursor(0,1); lcd_string("ADC0 ADC1"); lcd_setcursor(0,2); lcd_string(ADC_StringC0); lcd_setcursor(9,2); lcd_string(ADC_StringC1);
-
Thread
float to string
Max schrieb im Beitrag #2813615: > Ich möchte ein Gefühl für den Aufwand einer float=>string in z.B. printf > bekommen. Wozu? Wenn es um die benötigte Rechenzeit geht: Die kann man messen.
häufig von Nutzen. Ich habe z.B. selbstgeschriebene Routinen zur Wandlung von 16/32 Bit integer zu String, die für UART-Debugzwecke häufig einsetze. Das spart oft deutlich an Codegröße gegenüber der libc.
-
Thread
Arduino in C und C++ programmieren
Christof E. schrieb im Beitrag #6405260: > Hier mein Kursskript in Ansi-C [c]extern „C“ //Die „extern“ Deklaration ist hier notwendig{ #include „main.h“ #include „uart328.h“ };[/c] Das ist kein Ansi-C, das ist überhaupt kein C, sondern C++! [c]#include <avr\io.h
anscheinend hier sogar Anfängern beigebracht wird... "Macht man das nicht, legt der Compiler Const-Strings nicht nur im Programmspeicher sondern auch im wertvollen RAM ab.Beim PC ist das egal" Beim PC ist beides im RAM... [c]#include <LiquidCrystal440.h> LiquidCrystal lcd(13,12,11,10,5,4,3,2);
-
Thread
int richtig in char* konvertieren
Hallo Ich habe eine Funktion die mir Daten über ein RFM22B Modul sendet. [c] rf22_sendpacket((unsigned char*)"Hallo",5); [/c] das senden eines Strings klappt. Nun will ich einen Int wert versenden. Wie konvertiere ich einen in Wert richtig in einen char* Wert? im Internet
rf22_write(0x07, 0x01); // switch to ready mode char buf[8]; // puffer für den String sprintf(buf,"%d",wert); // wandelt eine Zahl in einen String mit 5 Stellen rf22_sendpacket((unsigned char*)buf,strlen(buf)); } [/c]
-
Thread
Frage zu RS232 Verbindung
Dein µC wartet aber auf den String "trs23200" und senden tust du "tttt". Jetzt die Frage was soll da passieren ?
. Das µC Programm ist einfach genug, dass da nicht viel schief gehen kann. Solange deine Kontrolle durch zb eine LED mitteilt, dass gets mit einem String zurückgekommen ist, ist µC seitig soweit alles in Butter
-
Thread
Ich starte neu in C
[c] #include <stdio.h> #include <stdlib.h> #include <string.h> int main (void) { int jahr_zulassung = 2008; int alter = atoi (&__DATE__[7]) - jahr_zulassung; printf ("alda: %d\n", alter); return 0; } [/c]
-
Thread
attiny2313 UART bzw. Speicher Initialisierung
Guten Abend, ich versuche auf einem attiny2313 per UART Strings zu verschicken. Das funktioniert auch, solange ich das ganze char für char mache, allerdings nicht auf zusammenhängendes im Speicher. [c] #include <avr/io.h> #define F_CPU 3686400L #include
Grundlagen anschauen: Strings in C
-
Thread
Komische Werte im char array
[c] #include "string.h" #define SERIAL_BUFFER_SIZE 10 int main(void) { char data[SERIAL_BUFFER_SIZE] = {'1','2','3','4','5','6','.','7','8','\0'}; uint8_t indexDot; dot = strnchr (data
#3688903: > Ich dachte die Terminierung mit > dem '\0'-Zeichen wird nur für die Interpretation als String benötigt? sie immer notwendig wenn man in C mit Strings arbeitet. Woher soll denn sonst atoi wissen wo schluss ist.
-
Thread
GSM Alarmanlage mit Positionsbestimmung
Hi Habe das gleiche Problem wie du! Ich habs so gelöst: [c] unsigned char neu[10]; while (1) { // Auf UART-Eingabe prüfen if((UCSR0A & (1<<RXC0))) { gets(neu); //Speichert den String auf neu ab. printf("Hallo\n"); //Gibt Hallo
// danach makiert das erste \r oder \n das Ende } *Buffer++ = NextChar; StringLen++; } while (StringLen < MaxLen-1); *Buffer = '\0'; }[/c]
-
Thread
Frage zu Array
Ich bin eher fuer: [c] #define MY_STRING "HALLO" char *ptr = NULL; ptr = (char*)malloc(sizeof(char)*strlen(MY_STRING)+1); strncpy(ptr, "Hallo", strlen(MY_STRING)+1); if(ptr) free(ptr); ptr = NULL; [/c]
komplizierter geht? Für solche Fälle empfehlen sich Stringklassen wie CString von MFC/ATL oder string von STL. Allerdings muß man dann wohl noch einen kleinen Rucksack an den AVR, oder was immer µC pappen, daß der Verwaltungsapparat und das Betriebsystem auch noch ein Dach über den Kopf bekommen
-
Thread
Probleme mit FX2 unter C: USBDevice->DeviceCount()
} else { printf("open OK\n"); } return 0; } [/c] Da ich erst mal nur Konsolen Programme schreibe habe ich mal das erzeugen des Objektes durch [c] GUID guid;// = IIDFromString("{0C1D1055-0ACF-4800-8E79-DB09641464CF}"); IIDFromString(OLESTR
die inf Datei: [pre] [Strings] CyUSB.GUID="{65FDE817-B5C9-4e08-861E-20A98348B221}" [/pre] Ist das so richtig? Ich habe immer noch das gleiche Problem. Devicecount liefert 0. Öffnen geht auch nicht. Muss ich evtl den PC neustarten
-
Thread
USART: Merkwürdiges Sendeverhalten
dem "String-Endezeichen(Terminator)" */ SendChar(*s); s++; } } void SendChar(unsigned char c) { while ( !( UCSRA & (1<<UDRE)) ); UDR = c; return 0; } [/C] Das Problem
[C] unsigned char Empfaenger[3]; unsigned char Wert[3]; Empfaenger[0] = uart_string[0]; Empfaenger[1] = uart_string[1]; Empfaenger[2] = uart_string[2]; Empfaenger
-
Thread
USB-Gerät meldet sich als ACM-Device - wie ändern? Gesperrt
ACM-Gerät? Vendor- und Product-ID habe ich bereits zu was unbekanntem geändert, der Control Interface String heißt auch nicht mehr "ACM Control Interface" (ich hatte vermutet, dass vielleicht das "ACM" in diesem String geparst wird). Woher könnte das sonst noch kommen - warum erkennt der Kernel das Teil
idVendor}=="1234", ATTRS{idProduct}=="5678", > ENV{ID_MM_DEVICE_IGNORE}="1" Ich habe bei mir [c]ATTR{idVendor}=="1234", ATTR{idProduct}=="5678", ENV{ID_MM_DEVICE_IGNORE}="1"[/c] eintragen müssen, aber damit geht es, es werden keine AT-Kommandos mehr dazwischengefunkt.
-
Thread
Pointer auf char UND const char?
inkrementieren darfst sondern nur, dass du das, auf was er zeigt, nicht modifizieren darfst. Außerdem: [c] string = &Sdatum[0]; [/c] Das ist lediglich eine außerordentlich umständliche Schreibweise von [c] string = Sdatum; [/c] ;-)
Bei der Stringdefinition solltest du es dran lassen, damit du nicht unnötig RAM verschwendest! [c]const char Sdatum[] = {"Die Temperatur betraegt "}; char strbuf[4]; const char *string; string = Sdatum; string = strbuf;[/c]
-
Thread
Auftrilung eines Strings und Ausgabe
: Wenn Du nullterminierte C-Strings verwendest, dann kann Deine Funktion lcd_puts selbst die Länge des Strings bestimmen, indem sie Zeichen für Zeichen ausgibt, bis sie auf das den String beendende \0-Zeichen stößt. Auch ist
void lcd_puts(char* string) { char* p; p = string; while (*p) { output_d(*p); RS_1; RW_0; // delay_us(50); E_1; // delay_us(50); E_0; p++; } } [/c] Das setzt
-
Thread
Ideensuche für getriggerte Zwischenzeitmessung
, also die Indizes 7 bis 39 haben undefinierten Inhalt. Das '\0'-Zeichen markiert das Ende das Strings, so wie das in C üblich ist. > wie kann ich bei während der implementierung testen, was jetzt > in meinem buffer[] steht bzw. wie groß er nun ist? Ich denke du meinst damit: wie lange der String
wieder komm ich nicht umhin, meine übliche Beschwörung ans Ende zusetzen: Jungs, kauft euch Bücher! String-Handling in C ist zwar nicht allzu schwer aber auch nicht trivial. Dafür ist es aber in jedem, und ich meine jedem, Buch über C ausführlich beschrieben.