-
Thread
ARM GCC Problem Größe übergeordneten struct bestimmen
GCC nur einmal über die > Sourcen und kann keine forward Referenzen wie ein Makro Assembler? C ist kein Makro Assembler und GCC ist es auch nicht. Übrigens machen C / C++ auch keine Aussage über die Ablage / Reihenfolge von Objekten im Speicher. Auch wenn eine bestimmte Reihenfolge beobachtet
ADC0.payload = getADC0(); // Wert Senden SendFlex( &ADC0 ); } return 0; } [/c]
-
Thread
CHAR[] im Interrupt mit ext funktionen nutzen! HELP!
Na, das hat ja geklappt. Also C-Code in "eckige Klammer auf, großes C, eckige Klammer zu" und am Ende "eckige Klammer auf, Schrägstrich (/), großes C, eckige Klammer zu"...
Ärger mit der Rechengenauigkeit und Rundungsfehlern geben. Eher mal in die Richtung arbeiten: [C] void Format( double d, char* String ) { int Zahl = (int)( d * 100 + 0.5 ); sprintf( String, "%d.%02d", Zahl / 100, Zahl % 100 ); } [/C] Achtung: Beide Funktionen berücksichtigen kein
-
Thread
Bei einer Zahl die Bits untersuchen, AVR-Stud. in C
Mehr steht wie immer in dem C Buch: http://de.wikipedia.org/wiki/The_C_Programming_Language
und umgekehrt)? > > könnte man für sowas und ähnliche allgemeine probleme (z.b. variable in > string umwandeln) eine Hilfsdatei schreiben und im AVR-Studio einbinden? > > dann hätten alle was davon Ähm. Es hätten auch alle was davon, wenn die Neulinge sich ein C-Buch kaufen würden, es durcharbeiten
-
Thread
STM32F4 USB CDC
of 'USBD_GetString' differ in signedness [-Wpointer-sign] usbd_desc.c /USB_CDC/src line 254 C/C++ Problem pointer targets in passing argument 1 of 'USBD_GetString' differ in signedness [-Wpointer-sign] usbd_desc.c
of 'USBD_GetString' differ in signedness [-Wpointer-sign] usbd_desc.c /USB_CDC/src line 290 C/C++ Problem pointer targets in passing argument 1 of 'USBD_GetString' differ in signedness [-Wpointer-sign] usbd_desc.c
-
Thread
UART Daten Salat mit fleury lib
dieser Funktion: Nope. Das Problem liegt in deinem Code bzw. darin, dass du etwas versuchst als String anzusehen, was kein String ist. > *grübel* Anstatt zu grübeln solltest du vielleicht erst mal die C Grundlagen lernen. Insbesondere wie Strings in C funktionieren. Sobald in deinen Datenbytes
dir hier [c] if(response == ETX) { count = 0; Buffer[count] = 0x00; break; [/c] nicht selbst mutwillig deinen String zerstört hättest, würde trotzdem das erste Byte im
-
Thread
gcc beschwert sich über zu kurze char arrays
[c] static const char c_a[5] = "12345"; [/c] sollte doch perfekt legaler c-Code sein. Wieso beschwert sich der gcc (AVR8/GNU C Compiler : 4.8.1) mit: > error: initializer-string for array of chars
ARRAY_SIZE die richtige größe > liefert; Ich hab auch für das eDIPTFT die Steuersequenzen als String im Flash abgelegt. Zum Senden an das TFT nehme ich dann einfach sizeof()-1. [c]#define TFT_FKT(x) tft_wr( sizeof(x) - 1, x, 1 )[/c]
-
Thread
Uart - Datenproblem
can not write the whole string to the circular * buffer */ uart_puts("String stored in SRAM\n"); /* * Transmit string from program memory to UART */ uart_puts_P("String stored in FLASH
Ich seh grad Uart.c ist doch nicht eingebunden?
-
Thread
Timing Problem
auszudrücken: Kernstück ist das Array 'etappen' im SRAM, in dem in jeweils 2 Bytes die Startadresse des Strings und der Speichertyp, in dem der String abgelegt ist, enthalten ist. Dabei repräsentieren die oberen 2 Bits des H-Bytes den Speichertyp, die restlichen 14 Bits die Startadresse des Strings. Wenn kein String gesendet werden muss (also im Normalzustand des Programmablaufs), sind TX und Sendeinterrupt deaktiviert. Muss ein String gesendet werden, dann wird durch einen Job des Hauptprogramms (Beispiel 'MSG1
-
Thread
String im Flash speichern
AVR? [C] snprintf_P( tempstr, BUFFER_SIZE-1, PSTR("Receive %d voltage of channel 0"), Voltages[0]); [/C] http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Strings_lesen http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Vereinfachung_f.C3.BCr_Zeichenketten_.28Strings.29_im_Flash
-
Thread
Symbol redefined ?
erinnert mich an nichts, was auf einem AVR vorkommt. Hast du kein Werkzeug, mit dem du alle Dateien (*.c, *.h) auf einem bestimmten Verzeichnis nach einem String durchsuchen lassen kannst? > Aber wenn dem so wäre, müsste CCE doch avr/io.h kennen, sonst könnte > er nicht von L_LSL_19 "reden"? Das
heinz Buchegger schrieb im Beitrag #2021950: > Hast du kein Werkzeug, mit dem du alle Dateien (*.c, *.h) auf einem > bestimmten Verzeichnis nach einem String durchsuchen lassen kannst? Doch habe ich. Aber wie gesagt, der String kommt nicht vor. Ich hab in einem AVR-Datenblatt "LSL" gefunden,
-
Thread
MSP430 Binär in String, Display Ausgabe
++] = '1'; else string[j++] = '0'; } // String Abschliessen string[j] = 0; } [/c]
string[i] = '0'; } // String Abschliessen string[8] = 0; } [/c]
-
Thread
MPU6050 - Raw-, gravity- and bodyacceleration
String(aaReal.y) + " " + String(aaReal.z) + "\r\n"; Serial.print(tmp); client.print(tmp); [/c] Der Overflow hat eindeutig etwas mit dem Senden (client.print(tmp)) zu tun, wenn
ypr, &q, &gravity); mpu.dmpGetLinearAccel(&aaReal, &aa, &gravity); //tmp = String(aa.x) + " " + String(aa.y) + " " + String(aa.z) + " " + String(ypr[0]) + " " + String(ypr[1]) + " " + String(ypr[2]) + " " + String(aaReal.x) + " " + String(aaReal.y) + " " + String(aaReal.z) + "\r
-
Thread
Messschieber mit µc auslesen
Overflow_bit = 1 Return Function Shiftintimeout(byval Timeout As Integer , Byval Achse As String) As Long Local P As Long Local C As Byte Dim X As Bit P = 0 'Variable für den Wert C = 0
dann in etwa so aussehen: [code]Function Shiftintimeout(byval Timeout As Integer , Byval Achse As String) As Long Local P As Long Local C As Byte Dim X As Bit P = 0 'Variable für den Wert C = 0
-
Thread
Bascom: Hex per Software UART ausgeben
sollte. S ist ein String, Bytes_to_send(23) ist ein einzelnes Byte
hwstack = 32 $crystal = 14745600 $baud = 9600 Dim S As String * 6 'Deklaration eines String Array mit 6 Elementen Dim Bytes_to_send(6) As Byte At S Overlay 'Macht aus dem Byte einen String Bytes_to_send
-
Thread
Gutes JTAG Tutorial gesucht
praktisches Basic-Tutorial. > Die meisten Programmierer wollen auch nicht genau wissen wie ein > C-Compiler ihr Programm zerlegt, sondern nur wie man ein C-Programm > schreibt. Da hast Du wohl recht, mich eingeschlossen. Manchmal ist es aber extrem hilfreich wenn man das weis, z.B. beim Debuggen
new byte[devCount * 64]; //allocate buffer devices = new String[devCount]; //and strings for device names int ret = FtdiLibrary.INSTANCE.enumerateDevices(deviceNames, devCount); //store device names to byte buffer if(ret == -1) { System.err.println
-
Thread
Shared Memory programmieren
das Thema "shared memory" ist ganz neues für mich. Ich habe ein Programmm für Mikrocontroller in C geschrieben, das jedes 0,5 ein String senden, die Antwort möchte ich auf einem "shared memory" speichern und bereit für das Auslesen stellen. Das problem ist: ich weiss nicht womit ich anfangen soll
das Thema "shared memory" ist ganz neues für mich. > Ich habe ein Programmm für Mikrocontroller in C geschrieben, das jedes > 0,5 ein String senden, die Antwort möchte ich auf einem "shared memory" > speichern und bereit für das Auslesen stellen. Ich denke du wirfst hier Begriffe durcheinander.
-
Thread
Array in Array schreiben
C-Grundlagen: Arrays C-Grundlagen: Strings Kannst du mit strcpy und strcat machen.
nacheinander. Und die beiden können nicht mit einzelnen Zeichen umgehen. Die brauchen Zeiger auf C-Strings (Nullterminierte Zeichenketten) Kannst mal bei http://de.cppreference.com/w/c/string/byte nachschlagen. Das ersetzt kein Lehrbuch über C.
-
Thread
RFM12B Daten auswerten
lcd_setcursor( 5, 1 ); { char Buffer[32]; itoa(test1, Buffer, 10 ); lcd_string( Buffer ); } [/c} Mfg
empfangenen Zeichen in Zahlen erst einmal weglassen, also folgende simple Funktion verwenden: [c] void lcd_prototyp(unsigned char *data) { lcd_data('T'); lcd_data('e'); lcd_data('s'); lcd_data('t'); lcd_data(':'); lcd_string(data); } [/c] Wenn hier dann nach dem Doppelpunkt
-
Thread
Umwandlung von Datentyp in C
Hei Leute, wollte mal wieder ne dumme Frage stellen(Gruss an Karl-Heinz B. und Co. :-) ). Ich will eine integer Variable in eine char Variable umwandeln. Die Integer-Werte liegen im Bereich von 0 bis 48'000. Weiss jemand wie ich das umwandeln kann? Ich habe schon eine mathematische Loesung, aber die ist sehr lang und kostet zu viel Zeit, weiss jemand eine einigermassen schnelle Loesung????? Viele Gruesse Thorsten D.
-
Thread
AVR serielle Kommunikation
dir lauter x aufs Terminal zaubert. Die nächste Funktion, die du haben willst, ist die putString. [c] void putString( const char* s ) { while( *s ) putChar( *s++ ); } [/c] denn damit kannst du dann [c] int main() { ... while( 1 ) { putString( "Hallo\n\r" );
. > > [c] > void putString( const char* s ) > { > while( *s ) > putChar( *s++ ); > } > [/c] > denn damit kannst du dann > [c] > int main() > { > ... > while( 1 ) > { > putString
-
Thread
C166 Library erstellen und compilieren
MsgBox_NoIcon_NoButton --> 9E7EBE ; r12, BoxFlag ==> #1=boxed, #2=unboxed ; r13, textID (LanguagePack) StringCopy --> BF81AE ; r12, dst_offset ; r13, dst_page ; r14, src_Offset ; r15, src_page GetStringLength --> BF819A ; r12, string_offset ; r13, string_page ; returns r4 (Length) und möchte dann
gearbeitet (C166/ST10 Tools), deshalb bin ich nicht ganz objectief.
-
Thread
Komisches Verhalten von Pointer auf Struct
{ LCD_DATA(*CMD); USART_TX(*CMD++); } } [/c] Zum schluss, hier noch der Aufruf über eine Art state-machine. Der Subroutine wird der Pointer auf den jeweiligen string im struct übergeben. [c] while (1) { switch (STATE) {
#2311420: > Erklährt diese falsche größendefinition auch das komische verhalten bei > der ausgabe der strings? Nein, das ist nicht die Ursache. Und die Größendefinition ist auch nicht falsch. Bei [c]char a[3] = "AT\0";[/c]wird die automatische Null weggeschnitten und das Endergebnis ist exakt das gleiche
-
Thread
Wie finde ich mit IDA die Stelle im Code von der aus auf einen String zugegriffen wird?
Image finde ich am Ende jede Menge C-Strings. Diese müssen ja im Programm irgendwie "verwendet" werden, sprich irgendwo und irgendwann wird eine Routine einen Zeiger auf einen dieser Strings setzen und eine Unterroutine zum anzeigen bzw
ARM Architektur benutzt normalerweise Offsets für Konstanten... auch für strings... Guck doch mal ob dein Debugmodul im ARM Watchpoints unterstützt... welcher µC oder Prozessor oder SOC ist es denn?
-
Thread
strtoul führt zu Kompilerfehler
be the special value 0. The string may begin with an arbitrary amount of white space (as determined by isspace()) followed by a single optional \c '+' or \c '-' sign. If \c base is zero or 16, the string may then include
digits at all, however, strtoul() stores the original value of \c nptr in \c *endptr. (Thus, if \c *nptr is not \c '\\0' but \c **endptr is \c '\\0' on return, the entire string was valid.) The strtoul() function return either the result of the conversion
-
Thread
Variable aus dem PC in uc speichern
[i] != '\0' ) { if(Buffer[i] == ';' || i == MaxLen -1) { ... [/C] Schritte: zuerst den empfangenen String ausgeben lassen um zu sehen, ob da überhaupt das drinnen steht, was du denkst das drinnen stehen sollte dann die Teilstrings nach der Zerlegung. und erst dann die umgewandelten Ergebnisse. Ach was solls. Ich würds so machen [c] void split(char* Buffer, int MaxLen ) { long a = 0; long b = 0; char* end; Puts1( "\nParsing String: &"); Puts1( Buffer ); Puts1( '&'); a = strtol( buffer, &end, 10 );
-
Thread
Falsch gedacht... Stackframe
ist aber nicht so*** [C] #include <avr/io.h> static uint16_t debug; void test () { debug = SP; { // <-- da char dummy [23]; //--- Aus "C"-Sicht erst ab hier bekannt --- debug = SP;
absolut seiteneffektfrei. Das gilt für alle Funktionen, sogar für solche wie getLine, die statt eines Strings ein "IO-String-Objekt" liefern, das die Aktion "lies eine Zeile von stdin" beschreibt. Mit ghc gibt es einen sehr guten Haskell-Compiler, der bei manchen Programmen sogar einem äquivalenten C-Programm
-
Thread
Effiziente string replace Funktion
enthalten Variablen, die ich vor der Ausgabe noch ersetzen muss. Dazu verwende ich folgende Funktion: [c] char str_replace(char *string_in, char *search, char *replace) { /**/ char *tempString, *tok; int len = 0; tok = strstr(string_in, search); if(tok == NULL) { return 0; }
und Hackerangriffe gehen auf das Konto dieses Versäumnisses und haben C den Ruf eines unhandhabbaren Monsters eingebracht. [C] char str_replace(char *string_in, size_t string_in_size, char *search, char *replace) { char *tempString, *tok; int
-
Thread
itoa strcat kurze Frage
c 0x"); strcat(String_output, itoa(c, *var_convert, 16)); strcat(String_output, "\r\n"); Vielen Dank
uint8_t b = 0x20; > volatile uint8_t c = 0x30; > > memset((void *) String_output, 0, 250); > strcpy(String_output, "Variable a 0x"); > strcat(String_output, itoa(a, *var_convert, 16)); Hier schreibst du über das Ende von var_convert
-
Thread
Eine gemeinsame Konstante in C und asm?
durch den Preprozessor (cpp) muss. main.s: [c] .file "main.c" .text .section .rodata .LC0: .string "hello world\n" [usw ...] [/c] Dort habe ich ergänzt/geändert: main.sx: [c] #define T_TEXT "Hello World\n" .file "main.c" .text .section .rodata .LC0: .string T_TEXT [usw ...] [/c] Vorgeplänkel Ende --- cc main.sx wirft dann das Executable a.out aus. In der Praxis würde man natürlich #define T_TEXT
-
Thread
UART-Ausgabe führt bei längerem String zu Resert des µC
Hierzu nutze ich einen FT232RL. Ansich funktionier die Übertragung, solane ich nur einen kurzen String übertrage. Wird dieser länger, macht der µC scheinbar immmer einen Reset, sodass der Sting nur Abgehackt im Terminalprogramm (Putty) erscheint. Momentan verwender ich 19200 als Baudrate. Gehe ich
einen Speicher-Überlauf. Benutze an anderen Stellen weniger RAM oder beschränke Dich auf kurze Strings.
-
Thread
µC <--> Handy Interface (Spannungsteiler?)
verträgt. Jetzt möchte ich den MAX232 durch einen MAX3232 ersetzen. Die zweite Schaltung soll dann ein µC <-> Handy Interface werden. Ich hab nur ein "nacktes" Kabel. Ich hab mir dazu ein Programm geschrieben das mir einen PDU String erzeugt den ich dann an das Handy schicken kann. Im Prinzip möchte ich
Rein theoretisch könnte ich ja auch nur mit einer Uart Schnittstelle auskommen indem ich zuerst den µC mit dem PC programmiere und dann das Handy anschließe und mit einem Taster den PDU String sende. Nur sehe ich dann nirgends ob der String tatsächlich angekommen ist bzw was das Handy zurückgeschrieben
-
Thread
LCD String ausgeben
Hallo, Ich würde gerne an einem LC-Display einen kompletten String ausgeben. Hierfür habe ich folgende Funktion geschrieben, wobei ich mit dem PICC-Compiler arbeite: void lcd_send_string(char *string) { while(*string != '\0') { lcd_send_byte
Eventuell mal versuchen auf "char*" zu casten. [c] lcd_send_string((char*)"Hallo"); [/c] Vielleicht klappts ja.
-
Thread
CH32V003 und Arduino
In der Arduinowelt kann man vieles mit der Stringklasse machen: [c] void setup() { Serial.begin(115200); } int Counter=0; void loop() { String msg="Counter is: "; Serial.println(msg+String(Counter)); Counter++; delay(1000); } [/c] Getestet
Pins definiert werden: https://github.com/stm32duino/Arduino_Core_STM32/blob/main/variants/STM32C0xx/C031C(4-6)(T-U)/variant_NUCLEO_C031C6.cpp
-
Thread
array in string oder so
aus string.h und einem Stringliteral: [c] memcpy(display_buffer, "\x08\x14\x08\x00\x00\x00\x00\x00", 8); [/c] Wirklich schön ist das aber IMO nicht. Andreas
Zeichen: strcpy( display_buffer, (char[]){ 0x08, 0x14, 0x08, 0x00 } ); [/c] Siehe http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/Compound-Literals.html#Compound-Literals PS: Die Frage ist, ob es wirklich sinnvoll ist, dauernd Strings herumzukopieren. Mit einem char*,
-
Thread
Display gibt als String eine Art Pixelfehler aus
Pixel irgendwo speichern, die angezeigt werden. D.h. dazu braucht er SRAM SPeicher, von dem auf dem µC nur 4KB vorhanden sind. > Zu dem Thema SRAM ich denke ja mal nicht, im moment werden ja gerade > einmal 3 Ziffern ausgegeben auf dem Display. Das ist ziemlich wurscht. Du hast dazu [c] char
man ja auch nicht abschalten, oder doch? Auch wenn es eigentlich keinen Unterschied macht: [c] sprintf(ausgabestring, "%i", (int)uebergabe); [/c]
-
Thread
avr-libstdcpp - Atmel Studio 7 - std::throw bad alloc()
usart1.putString_P("\nuC Reset ### ###\n"); usart1.putString_P("\nVECTOR"); usart1.putString_P("\nAnzahl Elemente: "); usart1.println(v1.size() ); usart1.putString_P("\nvector unsortiert
(v1); usart1.putString_P("\nARRAY"); usart1.putString_P("\nAnzahl Elemente: "); usart1.println(arrV1.size() ); usart1.putString_P("\narray unsortiert\n"); printContainer(arrV1); usart1.putString_P
-
Thread
gcc oder ich kann nich rechnen.
Hallo, hab mal wieder ein kleines Problem: [c] char hilf_string[16]; .................. dtostrf(2436115.50331110+0.8106100000000,16,5,hilf_string); LCD_Print(0,0,hilf_string); .............. [/c] Die Fließkommazahlen hab
' main.c:73: warning: unused variable `n' main.c:74: warning: unused variable `x' main.c:111: warning: unused variable `xm' main.c:131: warning: unused variable `xi' main.c: In function `main': main.c:328
-
Thread
ATmega128 und sprintf() -> Stürzt ab
} void uart_send_string(char *string) { uint8_t i = 0; while(string[i] != 0) { uart_send(string[i++]); } } UI8 z[100]; int main() { UBRR1L = 9; UCSR1B |= (1<<TXEN0); UCSR1C |= (1<<UCSZ01
rtaf sdfgd 960 etgagagaga [/code] Ersetzt man den sprintf-Aufruf in der while-Schleife durch [c]sprintf(z, "sdfgd etgaga\r");[/c] tritt das Problem nicht mehr auf Auch wenn ich [c]uart_send_string(z);[/c] aus der Schleife entferne, besteht das Problem weiterhin. Da geht also definitiv
-
Thread
Seriell Komm. Mega32 in C RS232 /VISCA
Hallo, vielen Dank für die Antworten. HAbe das jetzt erst mal in Pseudo code geschrieben: [c] Start Main() <Alles ininialisieren> volatile int ack = true volatile int complete =true: volatile int error = false volatile char[] ack_string volatile char[] complete_string
return; } else { inquiry_string = uart_data; } } [/c] Werde es morgen mal probieren da ich zu Hause keinen Zugriff auf die Kamera habe. Gruß Oliver
-
Thread
Peter Flury´s UART Routinen
} [/C]
wirklich etwas zu tun gibt. In der Lib sind jedenfalls paar Gimmicks eingebaut, die ist wirklich gut. [c] bool read_Ringbuffer() { static uint8_t index = 0; uint8_t length = sizeof(Nachricht)-1; uint16_t c = uart0_getc(); // nächstes Zeichen vom Ringbuffer holen if ( c & UART_NO_DATA
-
Thread
Wiport Daten an Server -> Erfahrungen bzw Einstellungen
Da steht: [pre] Attempts to connect when directed by a command string received from the serial port. The first character of the command string must be a C (ASCII 0x43), and the last character must be either a carriage return (ASCII 0x0D) or a line feed (0x0A). No blanks or space characters may be in the command string. Between the first and last command string characters must be a full or partial destination IP address and can include a destination port number. The IP address must be in standard dot-decimal
-
Thread
ATmega8: sprintf & float liefert nur "?"
Options] -Wl,-u,vfprintf Das Makefile habe ich angehängt. Meine Testdatei "sprintf_float_test.c": [c] #include <stdio.h> #include <stdint.h> #include <avr/io.h> #include "LIB_TWI_Master.h" // TWI-Lib #include "LIB_PCF2119x.h" // Display-Lib int main(void){ char c[] = "abc
sprintf(zweite_Zeile, "%s %04u %08.2f", c, ui, d);
-
Thread
feste Strings
. Ich habe die sogenannten "festen Strings" immer z.B. so definiert: char String[7] = "Hallo"; Ist das richtig so? Oder gibt es noch eine andere Möglichkeit Strings zu speichern, dass es nicht so viel Speicherplatz benötigt. Wie macht
MayersHans schrieb: > char String[7] = "Hallo"; > > Ist das richtig so? Oder gibt es noch eine andere Möglichkeit Strings zu > speichern, dass es nicht so viel Speicherplatz benötigt. > > Wie macht ihr das? Hi, um welche
-
Thread
Atmega 328P + MCP2120 = IrDA?
. Da kannst du dann > nachverstärken und externe LED ansteuern Das wäre dann denk ich der IRED_C-Pin?! (Beim TFDU4101) Was meinst du mit nachverstärken? Kann ich den Treiberausgang an einen Transistor (B) hängen?
Reichweite schaffen. Und zum anderen soll er verhindern, daß die Spannung so weit zusammenbricht, daß dein µC abkackt. Der letzere Punkt entfällt bei echt getrennter Versorgung natürlich.
-
Thread
80c515C - Parameterübergabe
Hi Leute, Ich verstehe die Parameterübergabe beim Infineon C515C-L nicht, kann mich da bitte einer aufklären. Ich habe: [c]code char text1[] = "Text-1"; code char *text2 = "Text-2";[/c] Wenn ich nun diese zwei einzeln puts übergebe, so entstehen folgende
http://www.keil.com/support/man/docs/c51/c51_ap_parampassreg.htm
-
Thread
MEGA32U4 und malloc -> App stürzt ab :(
-2; /* * terminate end of searched string */ cmdBeginn[cmdStrLen] = '\0'; /* * copy the command to buffer */ strcpy(inBuff,cmdBeginn); free(cmdBeginn_); return 0; } [/C]
Bedingungen gewährleistet dass nach dem malloc() auch später ein free() ausgeführt wird. Siehe [c] /* * search beginning from our final command string */ cmdBeginn = strstr(inBuff,cmdBeginn_); if(cmdBeginn == NULL) return -2; [/c]
-
Thread
C in ASM umsetzen
Hi Leute Ich kenne mich mit C nicht aus, daher wende ich mich an euch mit der bitte um Hilfe. Ich habe da ne Routine in C brauche es in ASM für den Atmel (mega8). Der Quellcode hat folgenden Inhalt: char set WL_Psum(char*buffer
> Ist Dir damit geholfen? Leider Nein, und Ja es geht um eine Prüfsumme. Ich habe kein C-Compiler um es in ASM zu übersetzen. Wie gesagt, kenne mich mit C nicht aus. Deshalb die Frage wie dieser Spass im ASM zu betrachten ist. Könntest du es mal durch den Compiler jagen und mir das ASM
-
Thread
UART Sendevorgang funktioniert nicht
[i++]; // TX next character if (i == sizeof string2 - 1) // TX over? { i=0; //Zähler für Übertragung reseten UC0IE &= ~UCA0TXIE; // Disable USCI_A0 TX interrupt } } [/c] Vielen Danke für jede Hilfe, Sebastian :)
-Terminierung stösst. [c] if( string2[i] != '\0' ) UCA0TXBUF = string2[i++]; else { i = 0; //Zähler für Übertragung reseten UC0IE &= ~UCA0TXIE; // Disable USCI_A0 TX interrupt } } [/c] (Schon
-
Thread
String zeichenweise in Array schieben
Bei der Definition von X: char X[] = SW_VERSION_STRING; Oder im Programm: #include <string.h> strcpy(X, SW_VERSION_STRING); // X muss ausreichend groß definiert sein! Tipp: Besorge dir ein C-Buch.
Bis dein C-Buch, das du dir jetzt gleich bei Amazon bestellst, bei dir eintrifft, kannst du eine Kurzzusammenfassung mit dem absolut Notwendigsten hier nachlesen http://www.mikrocontroller.net/articles/FAQ#Wie_funktioniert_String-Verarbeitung_in_C
-
Thread
String verarbeiten
Hallo zusammen Ich habe ein kleines Problem: Ich habe ein Programm in C geschrieben. In diesem Programm arbeite ich mit Strings. Ich habe eine globale Variable (char) definiert und in diese Variable möchte ich immer wieder andere Strings darin speichern. Beispiel: Wird
Hallo Habe es so probiert: char string[32]; /*Taster 1 gedrückt*/ string[] = "Mueller"; /*Taster 2 gedrückt */ string[] = "Meier"; Aber das funktioniert irgendwie nicht. Weiss jemand wie ich das lösen könnte?