-
Thread
char* pointer(Zeiger) einem String zuweisen, merkwürdiges Verhalten
[c] char* s=string; [/c] damit erzeugst du die pointer-Variable s und weist ihr "gleichzeitig" den Wert von string zu (etwas verkürzt geschrieben). Wenn du diese beiden Befehle trennst, klappt es auch: [c] char* s; s=string; [/c]
-
Thread
Frage zu String einlesen
denn deine Funktion zum Einzelzeichenlesen in der SD-Library? Ich nehme mal an, die heißt getc [C] int gets( char * buffer, int n, int fd ) { char c = getc( fd ); int charsRead = 0; while( c != '\n' && n > 0 ) { *buffer++ = c; charsRead++; c = getc( fd ); } *buffer
charsRead++; readChar = file_getc(); } *buf = '\0'; return charsRead; } [/c]
-
Thread
String mit Steuerzeichen
Das geht m.M. gar nicht. In C ist 0x00 als String-Ende-Zeichen definiert. Da wirst Du wohl oder übel mit 4 Ausgabe-Befehlen arbeiten müssen: 1. Text, dann 0x00, dann 2. Text, dann 0x00 (sagt einer, der nur rudimentäre C-Kenntnisse
Wenn ich \r in den String schreibe gibt er mir 5C 72 aus. Das hab ich alles schon probiert.Liegt wahrscheinlich an den " vom String.Aber die Sache mit dem Sonderzeichen klappt hervorragend. Vielen Dank euch allen für die schnelle
-
Thread
[C] Char Array an Funktion übergeben
strcpy(buffer, "$"); strcat(buffer, message); strcat(buffer, "*"); char checksum_string[2]; sprintf(checksum_string, "%02X", checksum); strcat(buffer, checksum_string); strcat(buffer, "\r\n"); uart_puts(buffer); }[/c] Das ganze funktioniert nun, wenn ich es mit
ausßerdem ist ist überhaupt nicht notwendig den string komplett zusammenzubauen, kostet nur zeit uns stack. [c] void send_uart_message(char message[]) { char checksum = calculate_checksum(message); char checksum_string[3]; sprintf(checksum_string
-
Thread
C++ auf Embedded Features
nutze u.a. - std::string - std::ostringstream - Exceptions (sind optional bzw. deaktivierbar) Mir steht aktuell keine C++ Toolchain für Embedded zur Verfügung und daher wollte ich euch fragen, ob eure Toolchain die o.g
idealerweise auch im > Embedded-Umfeld Wenn du von 32 Bit Maschinchen sprichst, stehen dir sowohl string, als auch die iostream Geschichte zur Verfügung .... Bei den 8Bit, z.B. AVR, kannste das erstmal knicken. Die ganze LibC++ ist nicht dabei.
-
Thread
Bestimmte Zeichen aus String entfernen? GCC
[c]#include <iostream> #include <string> #include <algorithm> #include <iterator> int main () { std::string str ("Gutxxen Axxxbend"); std::cout << "Vorher: " << str << std::endl; str.erase
Man muss das auch in C nicht zu Fuß machen: [c] #include <string.h> #include <stdio.h> void removeChars (char * input, const char *unwanted, char * output) { char * substring = strtok(input, unwanted); *output
-
Thread
C Compiler und Entwicklungsumgebung für 80C537
. Im Code sind folgende Dateien verlinkt: #include "reg537.h" #include "\bin\develop\tools.51\c51\stdio.h" #include "\bin\develop\tools.51\c51\stdlib.h" #include "\bin\develop\tools.51\c51\string.h" #include "pjgetkey.h" #include "adu.h" #include "cmt.h" #include "lcd.h" #include "rs232
Die Files sind auch alle beim Quellcode dabei, bis auf die drei: #include "\bin\develop\tools.51\c51\stdio.h" #include "\bin\develop\tools.51\c51\stdlib.h" #include "\bin\develop\tools.51\c51\string.h" Ich denke die Pfadangabe weißt auf die Entwicklung mit dem Keil C51 Compiler hin, oder?
-
Thread
AD-Werte auf LCd ausgeben
Hallo, O.K. hast recht. Hier jetzt noch mal von Anfang [c] int main(void) { int16_t adcval0; lcd_init(); lcd_string("Hello World!"); while(1) { } return 0; } [/c] Ausgabe klappt. Also gehe ich davon aus, das das LCD richtig
der Abgeänderte Text: [c] set_cursor(0,1); lcd_string("Tagesachse: "); . . . set_cursor(13,0); lcd_string(Buffer0); [/c] Jetzt ist beim einschalten alles i.O., so wie es sein soll, aber wenn er dann den nächsten Wert
-
Thread
String im Flash
Folgendes gibts in der LCD-Routine von Fleury: lcd.c: [c] 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 */ [/c] lcd.h: [c] #define lcd_puts_P(__s) lcd_puts_p(PSTR(__s)) [/c] Das benutze ich so: [c] lcd_puts_P("TESTSTRING"); [/c] Bei Fragen nochmal fragen
-
Thread
C: Programm mit Textanzeige für mehrere Sprachen
#4225115: > Wer kann helfen ? Du dir selbst. Was ist der augenfälligste Unterschied zwischne [c] #define TEXT1 Text1_auf_spanisch [/c] und [c] #define Text1 "Text1_auf_deutsch" [/c] Welches ist die richtige Version? Ersetz mal in beiden Fällen in [c] lcd_puts(TEXT1); [/c] das Makro. Das eine mal kommt raus [c] lcd_puts(Text1_auf_spanisch); [/c] und das andere mal kommt raus [c] lcd_puts("Text1_auf_deutsch"); [/c] (Makros sind nur Textersetzungen. Ein Text wird an der verwendenden Stelle durch
-
Thread
avr register ausläsen und umwandeln zu ascii, wie?
kann es auch gar keine Funktion mit dem Namen lcd_string() in C geben!
0] = c; i[1] = '\0'; // weil in C ja jeder String mit einem \0 aufhören muss. [/C] Ist das zu einfach? Wenn natürlich in i schon ein String besteht, dann kannst du das c auch 'hinten drannhängen',
-
Thread
Wie mache ich eine Textausgabe 8Bit auf Display?
Meinst du so was: [c] void LCD_puts (const char *lcd_string) { while (*lcd_string) { Zeichenausgabe (*lcd_string++); // String auslesen -> LCD } } [/c] Wobei ich unterstelle das du eine "Zeichenausgabe
ganze auch mit Array Syntax schreiben. Ev. hilft dir das besser zu verstehen, was da abgeht. [C] void LCD_puts (const char *lcd_string) { int i = 0; while( lcd_string[i] != '\0' ) { Zeichenausgabe( lcd_string[i] ); i++; } } [/C] Mit etwas Glück optimiert der Compiler
-
Thread
Kommazahl auf Display anzeigen
die seite müsste mir helfen oder.? http://www.c-howto.de/tutorial-strings-zeichenketten-stringfunktionen-verketten-strcat.html
drei Schreibweisen für ein und diesselbe Zahl. Jetzt ist es an der Zeit nach Arithmetikoperatoren in C und ASCII zu googeln um das Ganze abzurunden. Hinzu kommt noch die Darstellung von Strings in C ('\0' am Ende). > > und wofür steht > > Frank M. schrieb: >> buffer[0] = tausender + '0'; > >
-
Thread
strcpy mit automatischer Längenprüfung
eventuell schon passiert. Besser strncpy_s (bzw. strcpy_s) verwenden: http://en.cppreference.com/w/c/string/byte/strncpy http://en.cppreference.com/w/c/string/byte/strcpy
Manche programmieren lieber defensiv: get_the_input(*quelle,*ziel) { char c; c = quelle[30]; quelle[30] = NULL; strcpy(ziel,quelle); quelle[30] = c; } /* Entweder wird ziel-String = quelle-String (mit jeweils abschließender NULL), oder
-
Thread
Atmega32, Poti, ADC, Poti-am LCD ausgeben
auf Ende der Konversion return(ADC); } [/c] Das Ergebnis / den Aufruf könntest Du (z.B. für ADC-Kanal 1)so gestalten: [c] char outString[10]; ... sprintf(outString, "%u", ReadADC(1)); lcd_print(1,0,outString) [/c]
pfuschen und tricksen K.A., was Du mit "pfuschen und tricksen" meinst - aber das geht ganz normal: [c] #include <stdlib.h> #include <avr/io.h> #include <string.h> #include <stdio.h> #include <util/delay.h> #include "lcd.h" char outString[10]; uint8_t printposy; uint16_t adc0_wert
-
Thread
serielle Schnittstelle Problem nach dem Einschalten
@Mike: Der µC fängt an, korrekte Strings auzugeben, dann nach ca. 1/s kommt ein verstümmelter String, danach kommen nur noch fehlerfreie Strings. @Karl-Heinz: Das ist klar, der letzte String kann u. U. abgewürgt
Ablauf: Der µC gibt laufend korrekt Strings aus. Plötzlich erscheint ein verstümmelter String, danach geht alles normal weiter. Es geht ausschliesslich darum, ob nach einem Neustart die Ausgabe fehlerfrei durchläuft
-
Thread
UART Sample Programm M16C
0x04; // Enable UART0 receive interrupt, priority level ENABLE_IRQ; // Enable all interrupts u0c1 = 0x05; // UART0 transmit/receive control register 1 } /************************************************************************** Description: The following sends a text string to the
************************************************************/ void text_write ( _far char * msg_string) { char i; for (i=0; msg_string[i]; i++){ // This loop reads in the text string and while(ti_u0c1 == 0); // puts it in the UART 0 transmit buffer u0tb = msg_string[i]; } }
-
Thread
avr-gcc stört sich an uint_8 und uint
die Deklaration sein (ist es aber nicht). > lcd_funktionen.c: In Funktion »float_zu_char«: > lcd_funktionen.c:50: Warnung: Funktion liefert Adresse einer lokalen > Variablen zurück Das wurde schon mal angemäkelt! Die Variable string existiert nicht mehr nach
Funktion »lcd_setcursor« lcd_funktionen.c:26: Warnung: Implizite Deklaration der Funktion »lcd_string« [/code]
-
Thread
Keine vollst. Übertragung der Strings über UART
probiert Wozu? [C] while(1) { get_string(); if(uart_string_complete == 1) { strcpy(stringbuffer, uart_rx_buffer); send_string(stringbuffer); uart_string_complete = 0; } } [/C] machs doch nicht komplizierter als notwendig! Jetzt musst du nur noch deine get_string richtig stellen.
-
Thread
double in string Probleme
Hallo, zunächst: Strings in C werden mit '\0' (NUL) terminiert. Um also in einem string eine "200" zu speichern, benötigst du schonmal mindestens 4 byte. Außerdem wenn deine Ausgabe 8 Zeichen lang sein soll, dann muss
brauchen. Es ist immer besser, sich vorher Gedanken über mögliche Puffergrößen für zu erwartende String-Längen zu machen, denn C hat ja keine Stringverarbeitung wie Pascal. W.S.
-
Thread
ATmega 8 hängt sich auf
Zeit edit_timestamp = timestamp; if( edit_time ) edit_timestamp = new_timestamp; lcd_string( itoa(edit_timestamp.tday, ASCII, 10) ); lcd_string( itoa(edit_timestamp.nday, ASCII, 10) ); lcd_string( "." ); lcd_string( itoa(edit_timestamp.tmon, ASCII, 10) ); lcd_string( itoa(
[c] ISR(INT_KEYBRD){ keybrd = twi_read( IO_ADDR, 0x00 ); [/c] Oh oh oh ! Wenn dann im Mainprogramm auch I2C gemacht wird, krachts. I2C ist quasi ein Device, wie z.B. das LCD. Ein Transfer
-
Thread
UART Interrupt
Myster L. schrieb im Beitrag #6434128: > Auch bei einem String mit bis zu 12 Zeichen? Ja weil im Empfangsregister nur 1 zeichen Platz hat. Ein Interrupt Aufruf = 1 Zeichen. Schau ins Datenblatt vom µC. Da gibts kein Platz für nen String, nur 1 Zeichen.
dann ja schon mal alle in dem Array haben. Meine Verarbeitung basiert aber darauf, dass es ein String ist. Da direkt einen String zu verwenden ging nicht so einfach, also brauche ich ja theoretisch nur noch ne möglichkeit das Array jetzt in nen String zu konvertieren, richtig?
-
Thread
MSP430 IAR: String1 in String2 Kopieren??
> Also damit der GCC konstante Strings erzeugt, muss ich doch "const" vor > die Deklaration schreiben. Ein String Literal, wie "Dies ist ein String" ist per C Definition konstant. Dein Programm hat kein Recht da drin irgendwelche
main() { mystrcpy( Text1, Text2 ); } [/C] verbraucht bei -Os 208 Bytes Das hier [C] #include <avr/io.h> #include <string.h> char Text1[] = { "Ein Text1" }; char Text2[] = { "Ein Text2" }; int main() { strcpy( Text1, Text2
-
Thread
5 NTC messen mit arduino
(0, 1); //lcd.print("Bleibt gesund"); } String getTime() { clock.getTime(); // Zeit vom Chip abfragen String t = String(clock.dayOfMonth, DEC); t += String("."); t += String(clock.month); t += String("."); t += String(clock.year
) { } if (millis() - lastWrite > WRITE_INTERVAL) { String line = String(getTime()) + ";" + String(T0) + ";" + String(T1) + ";" + String(T2) + ";" + String(T3) + ";" + String(T4); writeToSD(line); lastWrite = millis(); } } void writeToSD(
-
Thread
I2C-, USART-, EEPROM-Test für ein Feedback
void init_twi(void); void init_serial_1(void); void init_serial_2(void); void sendChar_1(char c); void sendChar_2(char c); void sendString_1(char *text); void sendString_2(char *text); */ /* Byte */ uint8_t eeFooByte EEMEM = 13; /* Wort */ uint16_t eeFooWord EEMEM = 12345; /* float *
USART_PMODE0_bm | USART_PMODE1_bm | USART_SBMODE_bm); PORTE.DIR = 0x08; } void sendChar_1(char c) { while( !(USARTE0_STATUS & USART_DREIF_bm) ); USARTE0_DATA = c; } void sendString_1(char *text) { while(*text) { sendChar_1(*text++); } //noch CR
-
Thread
DotMatrix 16x4 in C ansteuern
Strings an einer bestimmten Cursorposition // String liegt im RAM void lcd_string_xy( uint8_t x, uint8_t y, const char *data ); ///////////////////////////////////////////////////////////////////////
> [c] > #define LCD_PORT PORTC > #define LCD_DDR DDRC > [/c] Auch wäre es gut zu wissen, welcher AVR da am Werk ist. Einige Prominente haben am Port C das JTAG Interface liegen, das per Default ab
-
Thread
ATMEGA UART Empfang mit Verzögerung
ist { } UDR0 = Zeichen; // Zeichen senden. return 0; } void UART0_String_senden (char *String) { while (*String) // Bis String '\0' erreicht. { uart0_putc(*String); String++; _delay_ms(1); } } [/c
recht im RXC-Interrupt wird an der Datenrichtung des Tranceivers NICHT rumgefummelt! Etwa so. [c] void uart0_puts (char *String) { RS485_TX_EN; while (*String) { uart0_putc(*String); // String bis zum '\0' rausschreiben. String++; } UCSR0A = 1<<TCX0;
-
Thread
Ein String Problem
D. C. schrieb im Beitrag #4297813: > while(true); > goto nexString; Was soll das?
Gültigkeitsbreich verlässt, darf man nicht einfach auf den Zeiger zugreifen. Das einfachste ist wenn man [c] String SD_Data[24][2] [/c] und dann [c] SD_Data[ArDim1][ArDim2] = cmd; [/c] macht, aber das ist sehr aufwendig für einen µC.
-
Thread
AVR C; Variable wird nicht übnernommen
ein Fachbuch für C sein. Hier entweder; (1) Die Programmiersprache C, ISBN 10 3540237852, 9,95€ (2) Programmieren in C, ISBN 3446154973, 29€ (3) C: Programmieren von Anfang an, ISBN 10 3499600749, 11,99€ Deine/Eure
Ich bin für > (2) Programmieren in C, ISBN 3446154973, 29€
-
Thread
SRAM in C direkt auslesen
noch bearbeiten, denn da steht bei mir als Pfad drin: [code] "UninstallString"="C:\\WinAVR\\avr-gcc-4.7.2\\WinAVR-20100110-uninstall.exe" [/code] Hintergrund ist der, dass ich für jede avr-gcc-Version (4.3.3, 4.7.2, 4.8.1, 4.9.2) einen eigenen Unterordner unter C:\WinAVR
vorher noch bearbeiten, >denn da steht bei mir als Pfad drin: GENAU DAS MEINE ICH! "UninstallString"="C:\\WinAVR\\avr-gcc-4.7.2\\WinAVR-20100110-uninstall.exe" >Ist aber nur was für Spezialisten, die sich den erzeugten Code unter >verschiedenen Versionen anschauen wollen. Eben. Und das bin
-
Thread
USB:String-Descriptor
zeigt. Wenn dein Compiler C99 versteht und dein Ziel little endian ist, kannst du die Strings übrigens direkt als Unicode ablegen: [c] #define USB_PRODUCT_NAME L"Demo" ... static struct string_descriptor const PROGMEM product_name = { .bLength = sizeof(struct string_descriptor) + sizeof(USB_PRODUCT_NAME) - sizeof(wchar_t), .bDescriptorType = STRING_DESC, .bString = USB_PRODUCT_NAME }; [/c]
-
Thread
Pointer in C (pic 24F)
(int8 x,int8 y,int8 p,int8 string[]) > lcd_printf(15,13,'C',*"hallo "); wiederum ist eine etwas merkwürdige Form von lcd_printf(15,13,'C','h'); was den Compiler ebenfalls irritieren müsste. Besser: lcd_printf(15,13,'C'
Kann sein, dass der Compiler aus "hallo" ein Array mit "const" Attribut macht, obwohl das in C aus Kompatibilität mit Milliarden von existierenden Quellcodezeilen eigentlich nicht so gängig ist. Evtl. Compiler-Option. Dann Parameter als , const int8 string[]) deklarieren.
-
Thread
Frage zur sprintf-Fkt mit Variablen
! formatString[]="%Xd"; formatString[1]=(char)('0'+n); sprintf(string,formatString,value); [/c] Das müsste auch gehen.
[c] int digits = 3; int value = 12; char string[20]; sprintf( string, "%*d", digits, value ); [/c] (falls ich die Frage richtig verstanden habe)
-
Thread
LCD Uhr mit Alarmfunktion mit Drehencoder in BASCOM (Ein kleines Projekt für BASCOM Änfänger Vol3)
'Stunde Dim S4 As String * 2 'Alarm Sekunde Dim S5 As String * 2 'Alarm Minute Dim S6 As String * 2 'Alarm
'Stunde Dim S4 As String * 2 'Alarm Sekunde Dim S5 As String * 2 'Alarm Minute Dim S6 As String * 2 'Alarm
-
Thread
UART-Verbindung zwischen 2 µC
Hallo Leute, ich versuche gerade, eine UART-Verbindung zwischen 2 µC aufzubauen. Und zwar zwischen einem Atmega644P und einem Atmega168. Der Atmega644P ist mit der seriellen Schnittstelle des PCs verbunden und bekommt Strings geschickt. Strings, die mit einer "2" anfangen
EINEN Prozessor SEHR gut beherrscht? Genau; vor einem halben Jahr wußte ich noch nicht, was ein µC ist ... Gruß Tilmann
-
Thread
Terminal-Befehle aus mehreren Zeichen im Controller erkennen, wie am besten?
noips schrieb: > [c] > typedef char CmdString[5]; > CmdString CmdList[] = {"befehl1\n", > "befehl2\n", > "befehl3\n"}; > [/c] Den typedef schmeisst du am besten gleich wieder raus
#Wie_funktioniert_String-Verarbeitung_in_C.3F http://www.mikrocontroller.net/articles/FAQ#Men.C3.BCs_mit_Funktionszeigern
-
Thread
Strings und Newlib
Situation: ARM Toolchain mit Newlib als C-Bibliothek. Selbst geschriebenes Makefile. Problem: String-Deklarationen funktionieren nicht. Beispiel: [c] #include "string.h" // Eclipse Warnung: "Unresolved inclusion" uint8_t* file_name
aber, so etwas nicht mehr zu fragen. ;-) Klaus Wachtler schrieb: > und warum nicht #include <string.h>? [c]#include "string.h"[/c] und ähnliches ist eine Unsitte, die ich schon öfter gesehen habe, die Antwort lautet vermutlich: "Ich weiß dass soll man nicht machen, aber es funktioniert ja.".
-
Thread
Pollin - Receiver-Mainboard mit Twin DVB-[T,C] Tuner, NXP PNX8950EH
Source hab ich mit angehängt. Es mußte lediglich der Parameter "VncAuth" in "None" geändert werden. [c]StringParameter SSecurityFactoryStandard::sec_types ("SecurityTypes", "Specify which security scheme to use for incoming connections (None, VncAuth)", "None");[/c] Ich spare mir die original
InfoPage ---------------------------------------- - page0 als tag holder genutzt byte[4] tag_string1 "3ECW" dword size_in_bytes 0x0020BA6C byte[4] tag_string2 "3ECW" dword unknown_const 0x00100000 0x02758200 - 0x02964000 -> phStbRootApp_256M_1_t.mi ---------------------------
-
Thread
Probleme mit Übergabe eines Arrays
counter; } } return -1; } [/c] Diese Funktion sendet also den Textstring aus cmd_list, abhängig vom Zählindex counter an die Unterfunktion uart_compare_rx_string, welche so aussieht: [c] int8_t uart_compare_rx_string( char *test_string
dass man da nur konstante Strings reinstecken darf, wie in [c] i = strlen( "Hallo World" ); [/c] sondern man darf selbstverständlich auch variable Strings reingeben [c] char str[40]; strcpy( str, "Hallo World" );
-
Thread
Steuerbefehle von UART mit µC auswerten und darauf reagiere
eines funktionierenden Protokolles. Ich stelle mir das so vor: Ich schicke an den µC ein String mit z.B. "FREQ?" der Controller führt die Messung aus und schickt das ERgebnis zurück z.B. "4711"kHz oder auch nur "4711" Dann z.B. eine Spannungsmessung, schicke "ADVAL?" er mißt die Spannung
str...() Familie zu finden sind. http://www.mikrocontroller.net/articles/FAQ#Wie_funktioniert_String-Verarbeitung_in_C.3F
-
Thread
LCD Display Bargraph
USB_LCD.dll. Mit dieser kann man das LCD ansprechen und die > Funktionen möchten halt ein ANSI-String So sieht es aus. Die DLL ist in C gehackt und die meisten C-Routinen möchten halt einen Ansi-C-String. Mit den (mal vorsichtig ausgedrückt) "Multi-byte-Zeichen" können auf C-String ausgelegte Funtionen
Hi > Mit den (mal vorsichtig ausgedrückt) "Multi-byte-Zeichen" können auf >C-String ausgelegte Funtionen nichts anfangen. Der von mir benutzte Typ 'String' ist ein Pascal-String und stammt aus einer Zeit, in der Multibyte-Zeichensätze noch unbekannt waren. MfG Spess
-
Thread
Anfängre string zerlgen
Dennis S. schrieb: > Ich denke ich würde die einzelnen Teile in neue Strings kopieren.Ist für > mich glaube ich dann erst mal einfacher zu verstehen. Das kommt drauf an. Stringhandling in C, mit Strings deren Länge man im Vorraus nicht kennt, ist eine recht unangenehme
soll */ }SMS_CMD_LIST_T; const SMS_CMD_LIST_T sms_cmd_list[] = { {"set",sms_cmdset} }; [/c] Den empfangenen String durchsuche ich ebenfalls mit strtok. Mit Hilfe von qsort und bsearch vergleiche ich dann mit dem Kommand string: [c] #define SMS_DELIMITER ",;: " // Kommando aus empfangener
-
Thread
LCD Menü
Hallo! Habe mich auch an den Ansatz vom Dieter gehalten: [c] static const char menu_string0[] PROGMEM = "Highpass"; static const char menu_string1[] PROGMEM = "Bandpass"; static const char menu_string2[] PROGMEM = "Lowpass"; typedef struct MENU { const
t next; void ( *fp )( void ); } MENU_ENTRY; const MENU_ENTRY menue[] PROGMEM= { { menu_string0, 2, 1, highpass }, { menu_string1, 0, 2, bandpass }, { menu_string2, 1, 0, lowpass } }; [/c] Jetzt versuche ich, den jeweiligen String auf dem LCD auszugeben: [c] strcpy_P(lcd_value,
-
Thread
String leeren
vor der ausgabe habe ich immer mit '\0' das string beendet, ich versuch erstmal mit unsigned
Hier einen einfache Lösung. #include <string.h> int main(void) { char Buffer[3][50]; Buffer[0][0]='A'; Buffer[1][0]='B'; Buffer[2][49]='C'; memset(&Buffer,0,150); return 0; MfG
-
Thread
AVR-C double gibt auf LCd nur aus
Funktion zum Konvertieren von Double. "dtostrf() function returns the pointer to the converted string \c " char Temp_str[18]; double Temp_ntc; dtostrf(Temp_ntc, 6, 2, TEMP_str); 6 Zeichen davon 2 hinter dem Komma
zum Konvertieren von > Double. > > "dtostrf() function returns the pointer to the converted string \c " > > > char Temp_str[18]; > double Temp_ntc; > > > dtostrf(Temp_ntc, 6, 2, TEMP_str); 6 Zeichen davon 2 hinter dem Komma Danke,c klappt supi
-
Thread
Fehler im Programm lauflicht.c
; if (200 == displayText[stringPosition]) stringPosition=0; } n=0; } } } } [/c] Leider kommt beim Compilieren ein Fehler. Kann mir jemand den Fehler nennen? Das Programm habe
-funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT lauflicht2.o -MF dep/lauflicht2.o.d -c ../lauflicht2.c avr-gcc -mmcu=atmega8515 -Wl,-Map=lauflicht2.map lauflicht2.o -o lauflicht2.elf c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr4/crtm8515.o:(.init9+0x0): undefined
-
Thread
LCD-Display & Schwarze Balken
; lcd_setcursor( 0, 2 ); lcd_string("Hello World!"); while(1) { } return 0; }[/c] Ich nehme an das dein R/W auf PortD6 liegt.
sprintf(val,"%u",adcval); lcd_setcursor(0, 1); lcd_string(val); } return 0; } [/C]
-
Thread
Display Programmierung mit GCC 16x4 Display
Programm hochlädt). Leider wird immer noch der Text angezeigt, obwohl kein Knopf gedrückt wurde. [c] while(1) { uint8_t i = PINC; i=i&00011111; if(i!=0){ if(i==(i&00011011)){ lcd_setcursor(0,4); lcd_string("TEST"); } } return 0; } [/c]
Lass das mal laufen [C] .... while(1) { if( !(PINC & (1 << PC0) ) lcd_setcursor(0,4); lcd_string("Gedrueckt"); } else { lcd_setcursor(0,4); lcd_string(" ");
-
Thread
Xmega Strings im Flash?!
ist, egal welche Sprache, ist ebenfalls nicht erreichbar. Ausgeben mache ich wie folgt: lcd_string_p(&displayMenus[language][index], 0, LINE2, FALSE); Was könnte das sein? Wo ist der Denkfehler?! Warum geht es beim Mega? [c] const unsigned char displayMenus[LANGUAGES][MENUES][LENGHT_DISPLAY
Zu wenig Ram? Bring die Strings ins Flash oder ins Eeprom.
-
Thread
c++ library einbinden in avr studio
Fehlermeldung lautet: WString.h:28: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'String' Das soll mir sagen, das die source (WString.cpp) nicht als c++ erkannt wird, richtig?? der Code in WString.h:28 lautet: class String { public: // constructors String( const char *value = "" ); String( const String &value ); String( const char ); String( const unsigned char ); String( const int, const int base=10); String( const unsigned int, const int base=10 ); String(