-
Thread
Nodemcu benötige mal bitte etwas Hilfestellung
PORT 7777 //-> Type this under "TCP-Port" in the App byte mac[] = {0x90, 0xA2, 0xDA, 0x10, 0xC1, 0x9C}; //If you're using more than one Arduino, set different Mac adresses for each board! IPAddress ip(192, 168,1, 168); String inputstream = ""; String answer = ""; String text = ""; String
[c] #include <SPI.h> #include <ESP8266WiFi.h> // #include <Ethernet.h> #include <stdio.h> const char* ssid = "Test"; const char* password = "Test"; WiFiServer server(xxx); [/c]
-
Thread
GLCD mit Arduino soll Variable anzeigen
---------- my_ftoa konvertiert einen Floatwert in einen Ansi-C String ( kein String aus der class string ). Uebergabe: *s : Pufferspeicher, der den String aufnimmt. Achtung, ist der Pufferspeicher nicht gross genug
) gemeint und kein String aus "class string".
-
Thread
Menü Programmierung
pacer schrieb im Beitrag #2117560: > Wenn du einigermaßen gut in C bist, schau dir doch mal den Code vom > > AVR-Butterfly an. Der ist frei verfügbar und hat ein mehrstufiges Menü. Da ich noch recht neu im bereich µC bin sind meine C-Kenntnisse auch noch nicht
[/c]
-
Thread
Array of String Arrays
[c] strcpy_P (buffer, (const char*) pgm_read_word (menue_unter1_strings[0][1])); [/c] Controller ist ein ATMEGA 644 dürfte also Flashmäßig eigentlich keine Probleme geben. Gruß Miche
>nochmal ansehen :) [c] strcpy_P (buffer, (const char*) pgm_read_word (menue_unter1_strings[0][1])); [/c] Dort hast du einmal zuviel dereferenziert - menue_unter1_strings[0][1] : Liefert die Adresse, an der im Flash deine
-
Thread
string und variable senden
while(!(UCSRA & (1<<UDRE))); UDR = *str++; } } [/c] kann mir irgendwer helfen? mit beistrich zwischen den strings geht es nicht hab auch schon ersucht einen platzhalte einzubauen ("#5P %2,1c T123",entf); geht aber auch net --> da schreibt er nur
mit deinen 3 Werten aufrufen musst, und die genau das Gewünschte tut. [C] // einen einzelnen char ausgeben void UsartChar( unsigned char c ) { while( !(UCSRA & (1<<UDRE)) ) ; UDR = c; } // einen kompletten string ausgeben void UsartString( unsigned char
-
Thread
char in int umwandeln?
http://www.cplusplus.com/reference/clibrary/cstdio/sscanf.html [c] /* sscanf example */ #include <stdio.h> int main () { char string []="01234567890"; int i; sscanf (string+10,"%d",&i); return 0; } [/c] Wenn ich mich jetzt nicht irre müsste
('e'); break; default: putchar(c); } //---------------------------- wie kriege ich den string der reihe nach zeichenweise ausgelesen um die zeichen durch die whileschleife zu schicken. getchar() fragt den user nach ner eingabe
-
Thread
fprint Warning [2066]
; // BIT == 0 // #if (DebugProtokollMessage == 1) printf("Test-String\n"); #endif // } [/c] ich kann printf auch in die main.c schreiben, immer mit dem gleichem Ergebnis. Siegfried
konstanhten String braucht man da wieder Sonderfunktionen dafür, weil man ja einen anderen Pointer hat. Nur versteh ich vom C18 zu wenig, als das ich mich da auf eine definitive Aussage einlassen würde. [C]
-
Thread
Zeichenkette auffriemeln
um das Gewünschte zu erhalten Ein typisches Muster in der Stringverarbeitung ist nun mal: [C] char irgendeinString[] = "...wert82grad..."; // man nehme eine Pointervariable char* pLoop; // und richte es so ein, dass der Pointer auf den Anfang eines Strings zeigt pLoop = irgendeinString
Lösung bekommen, denn du kannst dein Problem recht leicht selber lösen. ich Tippe mal, du benutzt C als Programmiersprache? Wenn ja, dann such mal nach String-Funktionen für C, oder welche Programmiersprache auch immer du benutzt.
-
Thread
Alignment des ARM7
, Version ); // 0x0C USInt usiOffset2 = offsetof ( FlexString8, charData ); // 0x02 USInt usiOffset3 = sizeof(FlexString8); // 0x0C USInt usiOffset4 = sizeof(UInt); // 0x02 USInt usiOffset5 = sizeof(Char); // 0x01
("a=%u, b=%u, c=%u, size=%u\n", obj.a, obj.b, obj.c, obj.size); [/c] - Michael
-
Thread
CJoy / USB-DevName
------- DevNameStringDescriptor: .db (DevNameStringDescriptorEnd-DevNameStringDescriptor)*4-2,3;length, type: string descriptor .db "Joy1" ;******************************************************************
. ;* ;******************************************************************************** DevNameStringDescriptorEnd: NameStringDescriptor: .db (NameStringDescriptorEnd-NameStringDescriptor)*4-2,3;length, type: string descriptor .db "Joy1, ATMega8 based digital USB joystick V0.03" NameStringDescriptorEnd
-
Thread
Wert an TFT Display ausgeben
schrieb im Beitrag #4048529: > jemand einen Tip wie ich das über das TFT Diplay lösen kann? [c] tft.println(F("-0,1234567")); // Text -> String tft.println(mass2string(dezi_mass1)); // numerisch in string umwandeln ....... // vielleicht etwas umständlich aber es funktioniert, bbin kein
'; else break; ptr_chr++; } strcpy(_tmp2, ptr_chr); strcpy(_tmp, trimm_string(32, _tmp2, 5)); return _tmp; } [/c]
-
Thread
STM32CubeIDE Fehler beim Speichern
Problem bis hierher reduzieren: java.lang.IllegalArgumentException: offset or length outside of string. offset: 0, length: 4740, string size: 4620 at org.eclipse.cdt.internal.corext.util.CodeFormatterUtil.format(CodeFormatterUtil.java:124) Das kommt von dieser Methode: [c] /** * Creates edits
, offset, length, indentationLevel, lineSeparator); } [/c] offset + length > string.length() Wenn ich mit #ifdef ausgegraute Teile in der zu formatierenden Datei lösche, ist der Fehler weg. Also ist irgendwie das Problem, daß irgendein Teil in Eclipse
-
Thread
Wie am Besten Text-Strings in ASM verwalden?
zu übergeben und sich das RAM mit dem String zu befüllen, sondern die Flash-Adresse. Ob das so 1:1 von Assembler auf C übertragbar ist musst du wissen ;)
Peter Dannegger schrieb im Beitrag #3546845: > Die C-Entwickler waren nicht doof und haben sich schon was dabei > gedacht, einen String einfach mit 0 enden zu lassen. Da gehörte nun wirklich nicht viel dazu und sie waren auch nicht die Ersten, die
-
Thread
Atmega88 ADC auf Display ausgeben
; 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) | (1<<ADEN) | (1<<ADSC); while
, 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
Morse Decoder
unsigned long long debounceTimeStamp = 0; uint16_t measuredTimes[20]; uint8_t measureIndex = 0; String ditDahString = ""; String decodedString = ""; static String morse[] = { // Buchstaben A..Z ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..",
ditDahString += "-"; digitalWrite(light0 + 3, HIGH); return true; } return false; } char decodeString() { for (uint8_t i = 0; i < 26 + 10; i++) { if (ditDahString
-
Thread
Atmega spinnt, weil er nichts zu tun hat??
dass der Controller spinnt, weil er nichts zu tun hat?? Für Tips wäre ich sehr dankbar! [c] while(1){ aktuellerAdcWert = ADC_auslesen(0); lcdClear(); // 1 lcdWriteString("Wert: "); // 2 lcdWriteNumber(aktuellerAdcWert); // 3 if(aktuellerAdcWert
schaded, wenn man eine Variable mit dem gleichen Wert nocheinmal beschreibt. warum nicht einfach: [c] aktuellerAdcWert = ADC_auslesen(0); if(aktuellerAdcWert != alterWert) { lcdClear(); // 1 lcdWriteString("Wert: "); // 2 lcdWriteNumber(aktuellerAdcWert
-
Thread
uart atoi fehlerhafte Zeichen
% 255; uart_puti(incoming); uart_puts(uart_string); uart_puts_P("\r\nBefehl : "); uart_puti_formatted(command); uart_puts_P("\tWert : "); uart_puti_formatted(value); uart_puts_P("\r\n"); } }[/c] [c
initalisierung > der Variablen usw.) Hallo Peter, ich hoffe du meinst das hier. // aus der uart.h [c] #define UART_MAXSTRLEN 6 #define BAUD 19200 extern volatile uint8_t uart_str_complete; extern volatile char uart_string[UART_MAXSTRLEN + 1]; extern volatile char c; [/c] Ansonsten wüsste
-
Thread
Timestamp des Compilers auf den AVR schreiben
Also wirklich einfach: [c] __DATE__//The string constant contains eleven characters and looks like "Feb 12 1996". __TIME__//The string constant contains eight characters and looks like "23:59:01" char EEMEM compileTimestamp
[c] #include <avr/pgmspace.h> prog_char Version[] __attribute__((used)); prog_char Version[] = PROJECT_STRING ", " "V:" REVISION_STRING ", " __DATE__ "
-
Thread
UART Verständnisproblem auf ATmega328p
Race Condition: [c] if(uart_dataReceived_b) { uart_sendString(&uart_data_c[0]); uart_dataReceived_b = false; } [/c] Wenn etwas empfangen wurde, sendest du es und
Kommunikation möglich. War das gewollt? Das hier ist übrigend von hintern durch die Brust: > uart_sendString(&uart_data_c[0]); Schreibe einfach: uart_sendString(uart_data_c); Da kommt technisch exakt das gleiche bei heraus, der Code wird aber besser lesbar. Denn so sieht man, dass der String gesendet
-
Thread
Beschaltung um AudioSignal in uC zu bekommen
Adizaehler As Integer Dim Durchschnitt As Word Dim Grenzeo As Word Dim Grenzeu As Word Dim Ton As String * 1 Dim Tonalt As String * 1 Dim Folge As String * 5 Dim Timeout As Word Main: Waitms 2 Frequlong = 8000000 / Icr_neu Icr_neu = 1 Frequenz = Frequlong Incr Timeout Rem Portd.4 =
Gut, C2 in der oben geposteten OV-Schaltung muß prinzipbedingt entfallen. Hatte ich noch vergessen.
-
Thread
2x RS232 auf USB (mit modifizierten Daten)
kommen ? ------------------------------------------------------------------ Hier mein Programm: [c] //Includes //#include "defines.h" #include <avr/interrupt.h> #include <avr/io.h> //#include <avr/iomxx0_1.h> #include <string.h> #include <util/delay.h> void uart_send_byte(char c){ while (!(UCSR3A & (1<<UDRE3))); UDR3=c; } void uart_send_string(const char *c){ while ( *c != '\n' ) uart_send_byte(*(c++)); } int main(void){ DDRJ = 0b00000010; DDRH = 0b00000010; DDRD = 0b00001000; DDRA = 0b00001111
-
Thread
UART Libary. Register sind undeclared
// Noch ein '\0' anhängen um einen Standard // C-String daraus zu machen *Buffer = '\0'; } // Passende Größe des Arrays wählen! // char Line[40]; // String mit maximal 39 zeichen // uart_gets( Line, sizeof( Line ) ); [/c]
// Noch ein '\0' anhängen um einen Standard // C-String daraus zu machen *Buffer = '\0'; } // Passende Größe des Arrays wählen! // char Line[40]; // String mit maximal 39 zeichen // uart_gets( Line, sizeof( Line ) ); [/c]
-
Thread
hdc1080 humity 40bit serial number
individuelle Seriennummer auf 40 Bit verteilt. Diese lässt sich auslesen aber wie verarbeitet man diese mit C weiter? Also alle einzel Register-Bytes zu einer großen 64-bit Zahl zusammenschieben ist klar aber umwandeln in einen String geht doch nicht mehr, da ltoa() nur 32 bit kann!? Oder?
OK und wie wandele ich eine uint64_t Variable in einen String um?
-
Thread
WinAVR-20060125 sprintf bug!? Gesperrt
*s="string"; unsigned char c = '1'; double d = 134.431; unsigned char i=0; int main( void ) { Term_Initialise(); for(;;) { Term_Send_String("char i = "); Term_Send_Value_as_Digits(i++); Term_Send(0x0d); sprintf(buf,"sprintf = %f %c %s \r",d,c,s); Term_Send_String(buf); wait_500(); wait_500(); } } Das ist ein Auszug aus der .lss: ... sprintf(buf,"sprintf = %f %c %s \r",d,c,s); 80: 80 91
-
Thread
Visual Studio C#: Probleme mit empfangen Zeichen
(string text); private void buttonConnect_ButtonClick(object sender, EventArgs e) string port = toolStripComboBox_port.Text; int baud = 38400; try
dort etwas falsch gelesen wurde Ich habe dazu einfach nur diesen Befehl aus dem AVR abgesetzt. [c] case 0x20: // Reset uart_puts("20,00,00,01\n"); cmd_reset = 1; break; [/c]
-
Thread
String Kalkulator/Spannung bitweise anlegen/auslesen
Peter D. schrieb im Beitrag #6380604: > Ist doch ganz einfach: > http://string-functions.com/length.aspx > Oder: > https://www.cs.helsinki.fi/u/wikla/mus/Calcs/wwwscalc.html Ich spreche erstens von echten Strings, die sich praktisch durch alles hindurch bewegen und somit
auch in Resonanz mit einem Stromkreis kommen können und nicht von Computerprogrammen mit dem Namen Strings. Zweitens ist der zweite Link ein wenig falsch, was meine empirischen Beobachtungen bezüglich echten Strings bestätigen. Denn Strings sind wesentlich kleiner als Lichtquanten und daher auch kleiner
-
Thread
C - String-array dynamisch erweitern
, ich bekomme aber nach dem Start einen Segmentation Fault. Kann mir hier jemand Helfen? lg [c] #include <stdio.h> #include <stdlib.h> #include <string.h> int get_list(); void get_interprets(); char** interprets = 0; int main() { int songcount; songcount = get_list();
(interprets[songcount], buf); [/c] [c] while(fgets(buf, 255, (FILE*)fp)) [/c] wozu der cast?
-
Thread
KTY81/110 Temperatur Messung Programm in C
ADCSRA & (1<<ADSC) ) { } lcd_setcursor( 0, 1 ); dtostrf( ADCW, 8, 1, buffer1); lcd_string(buffer1); } [/c] dem KTY ein Feuerzeug unterzuhalten und nachzusehen ob sich die Werte überhaupt verändern, bzw. welche Werte vom ADC kommen. Du hast die interne Referenzspannung eingestellt
dir mit dem ganzen Zeugs unsicher bist, dann verschick doch die Dinge nicht binär. Lass dir einen String erzeugen und verschick diesen. Ist auch mit der ganzen Synchronisierung viel einfacher. Wenn der Master ein [c] 23.5<Return> [/c] verchickt, dann kannst du zum Testen erst mal ein ganz normaler
-
Thread
Problem mit USART (Tiny2313) + Terminal
_t*)i); //Inhalt des EEPROMs rurück in das char-array schreiben } cUSART_inp[i] = '\0'; // USART_transmit_str(cUSART_inp); // free(cUSART_inp); //string wurde auf Terminal ausgegeben, daher char-array cUSART_inp = NULL; //und Index
; } /***************/ void USART_transmit_str(char *cStr) { //sendet einen String (char-Array) ans Terminal /***************/ while(*cStr) { USART_transmit(*cStr++); } } /***************/ void clearArray(char cArray[],int iMax) { //ersetzt
-
Thread
Einlesen einer Hex Zahl von stdin
wird. Gibt es eine Möglichkeit die komplette Adresse einzulesen? Programmiert wird in der Sprache C. #include <stdio.h> #include <string.h> int main(){ char adresse[8]; fgets(adresse, 8, stdin); printf("%s", adresse); fflush(stdin); } Danke schonmal für die Antworten
Als Funktion würde ich fread() verwenden. Siehe Beispiel. fgets() ist ungeignet weil es für c-Strings ausgelegt ist. Bei binären Daten ist fread() besser geeignet.
-
Thread
AVR GCC Debug Möglichkeiten , nicht nachvollziehbarer Fehler
D. C. schrieb im Beitrag #4737057: > Gibts hier ne > alternative ? Simulator
ISR's werden nur in der Uart lib benutzt das ist eine .c lib von Peter Fleury ich hab daraus nur eine cpp gemacht da ich mich nicht ums linken von .c files kümmern wollte und der c++ compiler auch mit c klar kommen sollte.
-
Thread
String im Programm in einen anderen kopieren
http://www.mikrocontroller.net/articles/FAQ#strcpy.28_char.2A_dest.2C_const_char.2A_src_.29 (Da sind auch Beispiele dabei...) Im Programm die "string.h" includen und die Beispiele angucken! [c] #include "string.h" int main() { char str1[10]; char str2
Hallo Welt"; strcpy(str1, str2); // Jetzt ist in str1 auch "Hallo Welt" gespeichert! } [/c]
-
Thread
Probleme mit dem ADC des ATmega32
. Deine Computer sollen für DICH arbeiten und nicht du ihren Job auch noch übernehmen. [C] void RS_send_string( const char* str ) { while( *str ) RS_send( *str++ ); } void RS_send_uint( uint16_t value ) { char text[6]; utoa( value, text, 10 ); RS_send_string( text ); } [/C]
-
Thread
LCD ansteuerung (ausgabe von variablen wörtern bzw. zahlen)
AVR-GCC-C benutzt, dann schau mal in die Doku der AVR-libc, da ist das beschrieben. itoa(Wert, String, Basis) speichert im String "String" die ASCII-Zeichen für die Integer-Variable "Wert" ab, und zwar dargestellt
@stefan (alle anderen gucken bitte weg ; ) ): string[0]: 6 string[1]: 5 string[2]: 4 string[3]: 3 string[4]: 2 string[5]: NULL auszug C for dummies (öl ins feuer? *g*): "[...] char var[laenge]; *laenge* zeigt die anzahl der zeichen an,
-
Thread
Anzeige Display
Benutze dieses Teil dazu: [c] bool lcd_printlcc(uint8_t line, uint8_t col, char *string) { if (!lcd_gotolc(line, col)) return false; while(*string) { lcd_putchar(*string++); col++; if(col
Paul schrieb im Beitrag #4859510: > Was ist falsch? Du rufst [c] bool lcd_printlcc(uint8_t line, uint8_t col, char *string) [/c] mit [c] lcd_putcharlc(4,10,0x40); [/c] auf und wunderst dich über einen Fehler ? Erwartest du, daß eine 4-Zeichen-Folge "0x40
-
Thread
[C] Int in Datei schreiben
dich mit Dateien beschäftigst erst mal die offenbar übersprungenen 15 Kapitel, die vorher in deinem C-Buch stehen (welches du möglicherweise erst kaufen musst) nachholst. printf ist 1. Stunde C-Programmierung, 1. Lektion. Gleich nachdem man gelernt hat, dass in C ein komplettes Programm immer eine
Du benutzt im übrigen ganz sicher nicht [C] int fprintf(FILE *stream, const char *format); [/C] sondern du benutzt [C] int fprintf(FILE *stream, const char *format, ...); [/C] und das ist eine andere Geschichte. fprintf ist nämlich, genauso
-
Thread
Zufallsgenerator für Manschaft Turnier
char numbers[16][20] = {"Team1","Team2","Team3",........"Team16"}; aber sowie ich sagte bin ich C Anfänger und kommemit string array noch nicht ganzt klar. ich denke String an der Speicherstelle mit der Adresse 1 ist "Team1" char numbers[0] = "Team1"; aber wie glreiffe ich hinzu? for(i =0;
Hallo alle zusammen, Ich schaffe es nicht diese strings über einen Zufallsgenerator in 4 Gruppen anzuordnen. Kann mir bitte jemand helfen? Ich wäre Ihnen sehr dankbar. ich bin eigentlich sehr schwach in C. #include <time.h> #include <stdio.h>
-
Thread
PIC bearbeitet MAIN{} nicht richtig nach Programmänderung
' ) { txt[RecDataCounter] = '\0'; // C String bilden strcpy( receivedLine, txt ); RecDataCounter = 0; haveInput = 1; } else { if( RecDataCounter < INPUT_LEN - 1 ) txt[RecDataCounter++] = c; } }
ignoriert werden, während die Hauptschleife die Antwort auf den letzten GET an den Mann bringt. [c] void RS232_RECV() iv 0x0008 ics ICS_AUTO { unsigned char c = RCREG; if( c == '\n' ) { txt[RecDataCounter] = '\0'; // C String bilden if( !strncmp( txt, "GET", 3 ) ) { /
-
Thread
Senden und empfangen über serielle Schnittstelle
nur ein String empfangen. Wenn ich ein Timeout einfüge, kann ich mehrere String nacheinander auslesen, aber ich muss das Programm in diesem Fall mit der Tastekombination strg+C abbrechen. Wie kann ich dieses Problem
[C] int writeport(int fd, char *chars) { int len = strlen(chars); chars[len] = 0x0A; // stick a <LF> after the command chars[len+1] = 0x00; // terminate the string properly [/C] Das nenne
-
Thread
12 Bit ADC Board - I2C TWI
[c] //####################################### I2C i2c_init(); //####################################### init MAX1238 via I2C if(i2c_start(Adr_MAX1238+I2C_WRITE)) { i2c_stop(); // failed
// interger to string & send uart1_puts(buffer); // send uart1_puts(" mV\r"); // send string } i2c_stop(); } } [/c]
-
Thread
Strings und zusätzlich noch Arrays?
/articles/FAQ#Wie_funktioniert_String-Verarbeitung_in_C.3F
); while(1) { printf ("%s",strings[0]); } } [/c]
-
Thread
UART: String empfangen
Möglichkeiten. > Jetzt möchte ich die einzelnen Bytes auswerten und ggf. auch wieder > einen solchen String zurückschicken. Deine Vorstellung davon, was in C ein String ist, ist fehlerhaft.
Ich meinte ja auch nicht im C-Sinne. Oder habe ich das irgendwo erwähnt?! Ich weiß, dass in C ein String nichts anderes als ein Char-Array ist. Ich meinte mit String: String im Sinne von Byte-Strom. Da der Eingangs/Ausgangspuffer
-
Thread
rechnet der preprocessor in C gcc (AVR) multiplikation aus?
[c] #define x * [/c] ;-)
lesbarer als * ich streite mich doch nicht hier > mit der Darstellung in FETTSCHRIFFT Dann pack den C-Code wie sich's gehört in die Code-Tags: [code][c]C-Code[/c][/code]
-
Thread
AVR / RS 485: TXC vor JEDEM Byte löschen?
im alten Code wurde das TXC Flag nicht am Anfang von SendByte gelöscht sondern am Anfang von SendString). [c] void usart_Init(void) { UBRRH = (BAUD_PRESCALE >> 8); // Set baud rate (high byte) UBRRL = (BAUD_PRESCALE & 0xFF); // Set baud rate (low byte) UCSRC = (1<<URSEL)|(1<<UCSZ1
Terminator erkannt oder immer n Zeichen gesendet? OK, deine Funktion sendDatagram übergibt einen STRING, der auch \0 terminiert ist. Somit sollte es laufen [c] void usart_SendBlock(uint8_t *s) { PORTD |= (1<<PD2); // RS485-Tranciever vom µC auf Senden schalten UCSRA = (1<<TXC);
-
Thread
GPS NMEA Daten trennen
> hatte das schon scanf probiert Warum nicht sscanf()? scanf() liest vom stdin. Wenn Du einen String auslesen willst, dann solltest Du sscanf() benutzen. Also so: [c]sscanf(quellstring, "(%i,%i,%i)", &int_wert1, &int_wert2, &int_wert3);[/c] oder: [c]sscanf(quellstring, "(%s,%s,%s)", string_pointer1, string_pointer2, string_pointer3);[/c]
-
Thread
Mega8 Port.Pin Zustand abfragen wenn gegen GND vs.VCC
Hallo Zusammen, ich habe noch nicht viel Erfahrung mit µC, deshalb möglicherweise die seltsame Frage: Wie erkennt der µC den Zustand eines Tasters high oder low: a)wenn der PortPin im offenen Zustand in der Luft hängt und im geschlossen Zustand gegen
Boolean = true; Dissable : Boolean = false; {Commandos} cmdTemperature :String = '10'; cmdPumpStatus :String = '11'; cmdPumpOn :String = '12'; cmdPumpOff :String = '13'; cmdGetADC :String = '14'; cmdTemperatureRef :String = '15'
-
Thread
AVR C Float-Berechnung
Hallo, ich habe volgendes Problem: [c] admw[1] = 813; admw[0] = 828; double wert; wert = (7.0-4.0)/(admw[1]-admw[0]); sprintf(buffer, "s=%4.2f ", wert); lcd_string(buffer); [/c] Auf dem Display wird
wert = (7.0-4.0)/(admw[1]-admw[0]); > sprintf(buffer, "s=%4.2f ", wert); > lcd_string(buffer); > > Auf dem Display wird immer nur 0.00 ausgegeben. > Warum ist das so? Gabs hier nicht schon mal so einen Fred von einem Herrn Martin Fischer, wo gefühlt tausend mal erklärt wurde, das
-
Thread
MSP430 UART senden
(i == sizeof string - 1) // TX over? UC0IE &= ~UCA0TXIE; // Disable USCI_A0 TX interrupt } [/c]
= string[i++]; // TX next character else UC0IE &= ~UCA0TXIE; // Disable USCI_A0 TX interrupt } [/c]
-
Thread
#define - initializer element is not constant
der Zwischenzeit mit Büchern zu lösen. Sonst gibts wieder Schellen von Karl-Heinz :) Also: [c] //sub.c #include <stdio.h> #include <stdlib.h> #include <string.h> #define SAMPLINGRATE 22050 int zahl = 5; char string_array[100]; float toneFreq = 1.f; float samplesPerWave
/ toneFreq; ^~~~~~~~~~~~ [/code] Wobei, das funktioniert: [c] //sub.c #include <stdio.h> #include <stdlib.h> #include <string.h> #define SAMPLINGRATE 22050 int zahl = 5; char string_array[100]; void a_task() { strcpy(string_array, "Hallo
-
Thread
Probleme mit pgm_read_word in Schlaufe
gefunden. Das Problem war anscheinend meine Funktion display_int_hex, welche den integer in einen string umwandelt und ausgibt: [c] void display_int_hex(unsigned int i){ char string[ sizeof(i)+1 ]; itoa(i, string, 16); display_string(string); } [/c] Natürlich ist das ganze mit dem "sizeof
Keine Ahnung, wie ich auf das kam, aber bis jetzt hat es nie Probleme gegeben. Korrekt heisst es: [c] void display_int_hex(unsigned int i){ char string[6]; //max on int (16bit) is FFFF + prefix, so use 6 itoa(i, string, 16); display_string(string); } [/c] Mir unerklärlich ist aber trotzdem