-
Thread
[AVR][C] Tastenmatrix: Nur ein Taster wird nicht erkannt
Nochn Vorschlag. Du hast da ab der Zeile 149 sowas: [c] PORTF = PORTF & 0b11111011; if((PINF & 0b01000000) == false) { //Button 9 was pushed [/c] Probiers mal so: [c] PORTF = PORTF & 0b11111011; PORTF
Fabian H. schrieb im Beitrag #6992410: > Ich würde mir erstmal zwei Funktionen schreiben: > > [c] > ... > [/c] > > Dann kannst Du Dir bequem und übersichtlich die Werte holen: > [c] > ... > [/c] Ja, das ist viel kompakter. Fabian H. schrieb im Beitrag #6992410: > (Ja, delays sind
-
Thread
uC stürzt beu Zugriff auf MMC ab
>lcd_string("Datenausgabe " ); Das sind schon mal 20 Bytes RAM. Gibts da nicht ein lcd_string_P() ?
und dann durch LCD_string ausgegeben. Macht vielleicht: LCD_buffer="Hallo Test"; lcd_string(LCD_buffer); oder lcd_string("Hallo Test"); einen Unterschied ?
-
Thread
Fragment C-Code geschickter gestalten
> Kann ich es geschickter gestalten? Ja. Für sowas nimmt man ne Tabelle. Diese enthält den String und die Funktion, die dann aufgerufen werden soll. Das Ende der Tabelle kennzeichnet ein leerer String. Nachfolgend ein Codebeispiel für den 8051: [c] #include <stdlib.h> typedef unsigned
code, idata sind die verschiedenen Speicherbereiche des 8051. Laß sie einfach weg oder: [c] #define code #define idata [/c] Peter
-
Thread
C String nach Zeichen zerlegen
Hallo, biete um Hilfe. Habe einen String unit8 String[100] = "Kessel1:2:1:50:128:2:8000" (ist nicht alles, geht so weiter) Ich möchte die Zahlen aus diesem String auslesen. Programmiere in C Kessel1 ist der Indikator, von wo das kommt
http://www.c-howto.de/tutorial/strings-zeichenketten/string-funktionen/string-zerteilen/
-
Thread
String Verwaltung in C
Hallo Leute ich brauche ihre Hilfe. Bin neu in C und habe ein problem ich habe folgende code geschrieben, es soll die ganzen string array zufaeligeweise ausgeben. - kein wort(string) darf 2 mal auftauchen, ,jede string nur einmal auftauchen.
char arrayString[][50] = {"C","Y","R", "I","L", "M","P","W","O","Z"}; srand((unsigned int)time(NULL)); for(i=0; i<6; i++) { printf("%s\n",arrayString[
-
Thread
Bestimmten Bereich aus einem String auslesen in C
In C gibt es keine Strings, nur char arrays. Auf die kannst du zugreifen, wie auf alle Arrays. https://stackoverflow.com/questions/6679204/how-to-get-substring-in-c/6679254
Auf die kannst du zugreifen, wie auf alle Arrays. Oder die entsprechenden Hilfsfunktionen für Strings verwenden. Diese gehen aber davon aus, dass ein String mit \0 terminiert ist. https://en.cppreference.com/w/c/string/byte
-
Thread
RS485 bus mit Fleury Uart
sprintf counts char bufec[]; // buffer for sprintf error counts char Line[5]; // for function get string unsigned int c; // for function get string char comp[] = ("led"); // testmode: master always sends the same string - ADDRESS(0x44) + String(led!) ! = end of string // for debug void blink_led
_delay_ms(500); PORTB &= ~(1<<PINB0); _delay_ms(500); } // helper function for get string - this is a waiting function uint8_t uart_getc_wait() { unsigned int c; do { c = uart0_getc(); } while( c == UART_NO_DATA ); return (uint8_t)c; } // function to receive a whole
-
Thread
Arduino: if(String == "ein") funktioniert nicht
Kann es sein, dass das ein C-String ist? [c] if(strncmp(befehl, "ein", 3) == 0) [/c]
Etitie schrieb im Beitrag #6383045: > if(befehl == "ein") Ich würde es mit [c] if (strcmp(befehl,"ein") == 0) [/c] versuchen. https://www.c-howto.de/tutorial/strings-zeichenketten/string-funktionen/strings-vergleichn/
-
Thread
Kurze Frage zu einem C Code
Hallo, Versuche gerade die Grundlagen der C Sprache zu erlernen dabei hätte ich 2 kurze Fragen zu einem C-Code: 1) Was bedeutet *string++ ? Wird hier der Index des Strings also String[n] um eins erhöht ? Wäre das dann dasselbe wie
wird aber noch der wert der Adresse zurückgeben char c = *string; string++; > 2) Was bedeutet die Variablendeklaration "uint8_t" in der IF Anweisung > if(((uint8_t)(w_size-r_size))==0) ? das ist nur ein CAST - aber hier irgendwie nicht sinnvoll
-
Thread
Super Mini ESP32-C3 Board
= I2C(scl=Pin(4), sda=Pin(3), freq=10000) Warning: I2C(-1, ...) is deprecated, use SoftI2C(...) instead >>> from machine import SoftI2C >>> i2c = SoftI2C(scl=Pin(4), sda=Pin(3), freq=10000) >>> i2c.scan
); display.setFont(ArialMT_Plain_16); display.drawString(0, 0, "Hello world"); display.setFont(Dialog_plain_32); // ArialMT_Plain_10 display.setTextAlignment(TEXT_ALIGN_CENTER); display.drawString(60, 32,"ESP32 C2 :-)" ); display.display();
-
Thread
Wofür Propeller von Parallax ?
bekannten Daten > durch "return 42;" ersetzt. ;-) Oder wenn der Java Compiler eine Reihe von String Konkatenierungen durch die StringBuilder Klasse und ihre Methoden ersetzt. Aus [c] String s="Hallo "; if (vorname!=null) { s+=vorname; s+=" "; } s+=nachname; return s+","; [/c]
} sb.append(nachname); return sb.append(',').toString(); [/c] Aber auch der avr-gcc hat solche Tricks drauf. Zum Beispiel wandelt er [c] printf("Hallo\n"); [/c] in [c] puts("Hallo"); [/c] um.
-
Thread
C-Code while schleife
An dieser Stelle noch mal mein Mini-printf, wo ich von diesen Sachen "derben" Gebrauch mache: [c] int thprintf(char *string, ...) { va_list tag; int i=0; char *pointer=0; signed int int_tmp=0; va_start(tag, string); do { if(*string == '%') { switch
: fputc('\r', 0); break; } } // end if '\' else fputc(*string, 0); } while(*(++string)); va_end(tag); return(0); } [/c] Für die "Anfänger" zum Nachdenken und für die "Profis" zum schmunzeln :-) VG, /th.
-
Thread
Pointer an Funktion übergeben AVR C
; d++, buffer_pointer++) *buffer_pointer = font[*string_pointer][d]; } } [/c] würde wohl eher so sein müssen: [c] void write_string_to_OLED_buffer (unsigned char* buffer_pointer, char *string_pointer) { for (int i = 0; i < 5; string_pointer
buffer_pointer, char *string_pointer) { char c; int i; while(c = *string_pointer) { for (i=0; i < 5; i++, buffer_pointer++) { *buffer_pointer = font[c][d]; } string_pointer++; } } [/c]
-
Thread
C, String und Uart Problem.
darauf aufbaust. [C] i = 0; while( string[i] != '\0' ) usart_putc( string[i++] ); [/C] Dieses Prinzip ist so universell, dass es sich lohnt für die Ausgabe von Strings, gleich mal eine eigene Funktion zu
> DatenArray[DatenArray_Index]=';'; > DatenArray_Index++; > [/c] > Senden wollte ichs so > [c] > for (i=0;i<DatenArray_Index;i++); > { > usart_putc(DatenArray[i]); > } > [/c] > selbiges auch hier: Mach den "String" mal zu einem richtigen C-String.
-
Thread
uC/OS-II portieren
tip mal "uC/OS-II rapidshare" in google ein. dann das vierte Ergebnis
da erstmal kein Problem. Nur das die Tasks, die print... aufrufen, solange hängenbleiben, bis der String gesendet ist. Das ist ein Nachteil. Aber wenn man damit leben kann... Du solltest deinen Sourcecode posten, so wie du ihn verwendest, keine Auschnitte oder abgetippt. Poste alle deine C Files ALS
-
Thread
Pointer und C
> Das ist interessant. Soweit ich mich erinnere dürfte das laut ANSI-C > nicht die selbe Wirkung haben. Deine Erinnerung ist falsch. > Vielleicht unterstützt der AVR-GCC gar keine Pointer auf Pointer. Mach's mal halblang. Der GCC ist ein C-Compiler und keine
unsigned char *buffer ) { buffer[0] = '\0'; } Es war nie die Rede von einem Buffer fuer einen String.
-
Thread
Projektname als String
Natürlich könnte man das händisch erledigen, aber ich hätte das gern automatisiert. Wie komme ich in C dahin, dass der Projektname in einem String landet?
Ingo Less schrieb im Beitrag #6141113: > Wie komme ich in C > dahin, dass der Projektname in einem String landet? in dem du dem File den Projektnamen gibst? Dort steckt er ja in argv[0] oder _NAME
-
Thread
Brauche Hilfe bei einem C# Programm
Beispiel kann man schoen sehen, dass Ascii immer noch #1 fuer Programme ist: > private static string[] svnHinzufügen(string neuessvn, string[] svn) Gruesse Th.
[c]int i = Array.IndexOf(svn, gessvn);[/c] so klappt's. zu überprüfen auf: https://dotnetfiddle.net/vLbFbt [c]if (i > 0)[/c] ist eigentlich falsch, aber da svn[] bereits mit einem Element initialisiert
-
Thread
Wechselrichter Hoymiles HM-xxxx 2,4 GhZ Nordic Protokoll?
Hallo Sorbit mit der Arduino IDE und Einstellung Lolin(Wemos) D1 R2 & mini lässt sich zB ein [c]Serial.println(String(serialNr,HEX))[/c] ohne Fehler kompilieren. Ich benutze die IDE 1.8.13, nicht die neueste.
00 00 00 00 00 00 01 0d 00 0b c4 fc 2022-06-20 14:43:35.960403 Decoded: temp=26.9, pf=0.0 phase0=voltage:0.3, current:0.0, power:0.0, frequency:0.0 string0=voltage:0.1, current:0.0, power:0.0, total:0.0, daily:0 string1=voltage:0.1
-
Thread
Char Array in string in C und dann abfragen
- dient nur zur Visualisierung): [c] string kette; unsigned int i = 0; for(i; i <= 64; i++) { // hier jetzt irgendwie Array in kette laden } [/c] Danach könnte ich dann den String über... [c] Switch(kette) { case
schrieb im Beitrag #4311251: > Äräi schrieb im Beitrag #4311229: > >> Wie macht man sowas? > > [c] > #include "string.h" > [/c] Fehler. Muss natürlich [c] #include <string.h> [/c] lauten. string.h ist ja ein mit dem Compiler mitgeliefertes Standard Header-File.
-
Thread
AVR C "Variablenüberlauf"
) set_cursor (0,1); // cursor pos setzen lcd_string( anz ); // anzeige frequenz set_cursor (6,1); // cursor pos setzen lcd_string( "kHz" ); // anz. in kHz } [/c] mfg swen
utoa( freq, anz, 10 ); // übergabe freq > anz set_cursor (0,1); // cursor pos setzen lcd_string( anz ); // anzeige frequenz set_cursor (6,1); // cursor pos setzen lcd_string( "kHz" ); // anz. in kHz } } } return 0; } [/c] mfg swen
-
Thread
Probleme bei C Programmierung
uint16_t Y = 0b11111111; // Dezimal 255..... binäre werte werden in winavr-c nicht erkannt. werden nur als deci.
/1000L,abs(lMesswert%1000L) ); // erzeugt in sAnzeige die Anzeigewerte 0,000 V bis 5,000 V. OutString(sAnzeige); OutString gibt einen String auf das LCD. Möglicherweise heisst diese Funktion bei Dir anders. Ciao, Yagan
-
Thread
Automower G3 mit USB Diagnoseport fernsteuern?
String response = ""; String separator = ""; for (int i = 0; i < 1000; i++) { int c = Serial.read(); if (c >= 0 && c <= 255) { response = response + separator
Hallo Markus, ich habe "1" verwendet. [c]str == "1"[/c] Du kannst dort natürlich auch "ON" oder etwas anderes eintragen. Um zu erkenne ob der Befehl auch angekommen ist, wird dieser gleich wieder auf "0" zurückgesetzt. [c]String("0")
-
Thread
JSON für Daten-Austausch zwischen uC und PC?
Torsten C. schrieb im Beitrag #4153218: > mit zwei Leerzeichen hintereinander und wie überträgst du einen Leerzeichen als String? solche einfachen Formate, machen früher oder später immer ärger. Das es
Torsten C. schrieb im Beitrag #4153229: > Peter II schrieb: >> und wie überträgst du einen Leerzeichen als String? > > Mit dem Escape-Zeichen. Oder "Fluchtzeichen", was für ein Wort. Hab ich auch noch
-
Thread
Strings in Arduino ersetzen
um. Gerade hab ich eine Funktion: [c] void handleCommand(String strName, String strSend, String strWanted, int wait_cycles) { [/c] Die Strings sollen nur als Argumente
auf C-Strings empfohlen. Würde sagen: vergiss den Artikel!
-
Thread
C# (Visual Studio) string erstellen.
die Funktion das nicht. und was liefert sie? Man kann es auch besser lesbar schreiben. [c] string str = string.Format("0,{0},{1},{2}\n", trackBar1.Value, trackBar2.Value, trackBar2.Value ); serialPort.WriteLine(str); [/c]
strComplete = 0; static uint8_t strCount = 0; static char string[MAX+1] = ""; if(uart_available()) { char c = uart_getc(); if(strComplete == 0) { if(c == '\n' || c == '\r' || strCount >= MAX) { string[strCount] = '
-
Thread
Insert String für "C" ohne malloc
Hallo Wenn man in C einen string in einen anderen einsetzen möchte findet man im Netz ein haufen insert Befehle mit malloc. Nur sind die für µC suboptimal. Deswegen meine Frage. Gibt es einen insert Befehl ohne
Martin Michael schrieb im Beitrag #3976296: > Hallo > Wenn man in C einen string in einen anderen einsetzen möchte > findet man im Netz ein haufen insert Befehle mit malloc. > > Nur sind die für µC suboptimal. > > Deswegen meine Frage. Gibt es einen insert Befehl
-
Thread
LCD am I2C Bus
value &= ~(1 << LCD_BL_PIN); } i2c_write(value); i2c_stop(); } [/c] Das Teil vom Code steckt in der angehängten Datei achim
LCD_I2C_ADDRESS + I2C_WRITE); init_display(); write_string("Hello World"); i2c_stop(); return 0; } [/c] damit bekomme ich einen blinkenden Strich oben links. Die beiden Datein vom i2clcd habe
-
Thread
String an UART mit C
Hallo! Ich möchte einen string ans uart ausgeben. es gibt bereits in gcctest4 eine solche funktion, aber die ist interrupt-basiert, was mich stört. ich möchte gerne, daß der avr wenn er sendet, nur sendet. hier is mein code: void uart_send(u08 *buf, u08 size) { unsigned char i=size; for (i=0;i<size;i++){ outp(buf[i],UDR); while ( bit_is_clear(UCSRA,TXC)); } } woran liegt's dass der nicht klappt? mfg
-
Thread
Anfängerfragen zu C mit AVR Studio 7
um umgekehrt C kennt keine Strings im Sinne von Basic oder Pascal, sondern nur Arrays, die mehr oder weniger voll mit char's sein können, wobei das Ende mit einem byte vom Wert 0 gekennzeichnet ist. String-Operationen
Joern DK7JB .. schrieb im Beitrag #5664650: > bei dem Strings über Uart ausgegeben werden. Du solltest erstmal C-Strings verstehen. Dann ist dir das sofort klar. Das geht auch am PC.
-
Thread
[C] Was bewirkt diese Zeile?
Warum werden die einzelnen "Strings" mit "\0" miteinander verkettet? [c] #define STR1 "eins" #define STR2 "zwei" #define STR3 "drei" char str[]=STR1 "\0" STR2 "\0" STR3 "\0"; puts(str); [/c] wird ja nur "eins" ausgeben
zitter_ned_aso schrieb im Beitrag #5699410: > Warum werden die einzelnen "Strings" mit "\0" miteinander verkettet? Damit man sie sauber voneinander trennen kann? > [c] > puts(str); > [/c] > > wird ja nur "eins" ausgeben. Ja. Und? Die Strings stehen da nicht zu dem
-
Thread
C Code in AVR umwandeln
das ist kein C sonder C++ using namespace std; String wirst du auf dem kleinen µC vergessen können, schreibe reines C dann geht es auch.
nicht schlecht: [c] string salat; : salat.push_back(table[c]); [/c]
-
Thread
LCD Ansteuerung error
lcd_clear(); lcd_string("test"); while(1) { } } return 0; } [/c]
ach und holger, wenn ich das jetz mit [c] lcd_init(); lcd_string("Juhu!"); _delay_ms( 1000 ); lcd_clear(); _delay_ms( 1000 ); lcd_string("test"); [/c] bleibt Juhu! stehen ...
-
Thread
Schulnotenbewertung eines Arduino-Programms
eigene Stringlesefunktion, verwendet NICHT die Klasse String und hat dann als "Regelverstoß" Arduino einen Mischmasch aus C, C++ und Arduinoeigenheiten (weil klassischerweise ein char stringbuffer[maxlen] verwendet wird). Der Eventhandler liest immer nur
für Arduino immer größer > werden). Ähh.... Du hast eine rege Fantasie! Keiner sagt, dass du String verwenden musst. Du kannst durchaus deine heiß geliebten C-Strings verwenden. In Arduino kannst du alles verwenden, was in C/C++ ASM geht. Das schöne ist, dass String unendlich oft getestet
-
Thread
Display mit Touchscreen bei Pollin?
*string) { char c; for(;;) { c = *string++; if (!c) break; lcd_writechar(c); } } [/c] Gruß Garag
es so aussehen, wie du es sicherlich kennst. Locate 1 , 1 Lcd Fusing(temp1 , "#.&") ; Chr(0) ; "C " Locate_zeile = 10 Locate_spalte = 8 Lcd_string = Temp1 "Grad" Gosub Lcd_write_string Gruß Migelito
-
Thread
usart string
main(void) { Sendenstring( "Name" ); // Deine Sendefunktion aufrufen } Du solltest dir ein C-Buch besorgen. Das sind C-Grundlagen.
senden: Senden_Von_String("Name");
-
Thread
Wie vorgehen beim String einlesen?
ein C-String immer nur bis zum Zeichen mit dem Hex-Wert 0x00 geht. D.h. alle C-Stringfunktionen werten das als String-Ende Zeichen. Wie sieht jetzt eigentlich dein String wirklich aus? Hast du wirklich
dir der Absender das Daten dankeswerterweise ja mitgeteilt. > Das Problem ist das sizeof(uart_string) dann immer 30 ist. Nein. Das Problem ist, dass du ganz dringend ein C-Buch brauchen würdest, aber keines hast.
-
Thread
Ansi C - UDP Case switch
Man kann eine Tabelle mit Einträgen aus String und FunctionPointer machen. Dann im Dispatcher in der Tabelle nach dem String suchen und bei Erfolg den zugehörigen FP aufrufen. In C++ etwas eleganter mit den Container Klassen, z.B. std::map was
ui_WetterTimestamp, stamp_str); printf("name: %.*s\n", t[i + 1].end - t[i + 1].start, JSON_STRING + t[i + 1].start); i++; } else { //printf("Unexpected key: %.*s\n", t[i].end - t[i].start,JSON_STRING + t[i].start); } } [/c]
-
Thread
String im Kompilat
Texteditor durchsucht. Dabei ist mir aufgefallen dass kein einziger in der Software vorkommender String zu sehen ist. Kann es sein dass die exe vom Compiler implizit gepackt wird? Es ist übrigens ein GCC Crosscompiler der Code für einen ARM9 µC Linux Kleinrechner erzeugt. Grüße Siegfried
Häufig wird im Quelltext des Hauptmoduls etwa folgendes geschrieben als globales Objekt: [c] const char *version = "ganztoll (tm) 0.99a 2013-04-01 (C) 2013 Lug&Trug GmbH&Co.KG"; [/c] bzw. Version und Datum darin automatisch generiert, z.B. über svn. Dadurch daß es eine globale Variable
-
Thread
Fehlerbehandlung_C++ auf µC
Hi Guys, meine Frage gilt der Fehlerbehandlung in C++. Ich weiss das ich Fehler mit den try and catch Befehlen abfangen und behandeln kann. Jedoch wie geeignet ist dieses wenn das Programm auf einen µC laufen soll? Ich mich da mal durchgelesen(google
// in Error.h class Error{ private: String list[MaxError]; public: void addError(String erStr); } Error error; [/c] Was denkt Ihr darüber? Gruß Goldeneyes
-
Thread
String leeren
Wäre noch folgende Variante: [c] for(y=0; y<10; y++) { stringReceive[y]=' '; } [/c]
Was verstehst du unter "löschen"? Wenn du den String auf Länge Null kürzen willst reicht ein einfaches [c] string[0] = 0; [/c] Schau dir am besten erst mal in einem C-Buch an wie Strings in C implementiert sind.
-
Thread
Atmel Studio 6 und c++ strings
Hallo zusammen Laut der Hompage vom Atmel Studio soll dieses C++ unterstützen. Leider klappt das bei mir im Bezug auf strings überhaupt nicht: (Verwende einen ATMega32L) [c] #include <avr/io.h> #include <string.h> int main(void) { string test(
In string.h sind die nicht die C++-Strings deklariert, sondern üblicherweise die C-Funktionen für nullterminierte Strings (auch wenn man in C++ für diese nicht <string.h>, sondern <cstring> nehmen sollte).
-
Thread
StringToUpper
zählt da nicht. Wenn der "String" nicht Null-Terminiert ist, dann ist es kein C-String und es steht dir frei alle C-Stringfunktionen nochmal neu für deine Strings zu schreiben. Spätestens bei strlen wird es abstrus wenn du der Funktion
ist und wie er definiert ist. Wenn es in der Aufgabenstellung um C-Strings geht, dann geht es um C-Strings. Und da ist dann deine private String-Definition ganz einfach fehl am Platze.
-
Thread
Speicherrecourcen reduzieren in C-Programm
Johnny66 schrieb im Beitrag #2052820: > Ich möchte in meinem Programm u.a. Int in Strings konvertieren und > Strings nach float. Dazu verwende ich itoa und atof... Hä ??? Wie wärs einfach mit: [c] float superkomplizierte_wandlung_int_nach_float( int zahl ) { return zahl; } [/c] Peter
-
Thread
negative variable in c programm
Embedded-Bereich Arithmetik zu betreiben sind diese Typen gut geeignet. Wenn man aber intensiv mit der C standard library arbeitet sieht es wieder anders aus - oder wie ist der format-string zur ausgabe von uint8_t via printf() - also das Pendant zu "%d für int"? Gruß, Bernd
Embedded-Bereich > Arithmetik zu betreiben sind diese Typen gut geeignet. Wenn man aber > intensiv mit der C standard library arbeitet sieht es wieder anders aus > - oder wie ist der format-string zur ausgabe von uint8_t via printf() - > also das Pendant zu "%d für int"? Dafür sind Macros in /inttypes.h
-
Thread
C code UART Atmega und Optimierung
aussehen würde wie der Code vom OP sowieso schon aussah. main() ist viel zu lang. Das Auswerten des Strings ist ein übersichtlicher und in sich abgeschlossener Block, das Setzen eines Ausgangs abhängig vom Zeichen auch. Deshalb darf man Funktionen daraus machen: [c] void set_output(char cmd) {
main(void) //..... if (uart_str_complete == 1) { parse_command(uart_string); uart_str_complete = 0; } //..... [/c]
-
Thread
const char *text in C Struktur zur Laufzeit ändern
weiter aus mit der Beschreibung, wie gesagt, ist Neuland. Wenn ich einen anderen Text mit einem String übergebe, funktioniert das auch prinzipiell. [c] menu[1].text = "anderer Text "; [/c] Aber eigentlich soll sich der Text aus einem Text und einer Floatvariablen zusammensezten. Das hatte
Wenn ich es so mache, wie Du es sagst, dann flackert im Display die Darstellung. Wenn ich den String initialisiere bei der Definition mit [c] static char menutext[20] = {'a'}; [/c] dann ist alles gut, bis auf die wilden Zeichen, allerdings in der korrekten Zeile. @ Felix U Kannst Du das
-
Thread
avr-gcc, C++ und PROGMEM
.section .progmem.data,"a",@progbits 77 _ZL3bar: 78 0000 426C 7562 .string "Blub" 78 00 79 .data 82 _ZL4bar2: 83 0000 426C 6100 .string "Bla" 86 _ZL4bar3: 87 0004 4865 6C6C .string "Hello World" 87 6F20 576F 87 726C 6400 88 .section .progmem.data 91 _ZL4bar4: 92 0005 4861 6C6C .string "Hallo Welt" 92
-
Thread
String als Morsecode ausgeben
Zeichen deine Zeichenausgabe aufrufen. [C] void morse_string( const char* string ) { while( *string ) { morse_char( *string ); string++; } } [/C]
"10" ist sicher ein Tipfehler, aber sonst richtig. Jetzt ziteren wir mal Onkel Karl Heinz: [c] void morse_string( const char* string ) { while( *string ) { morse_char( *string ); string++; } } [/c] So weit so gut. [c] morse_char(char character ) { uint8_t Morsecode
-
Thread
Rechnen mit PIC18 und C18
Vielleicht wisst ihr warum. Ich habe lediglich den Multiplikator geändert und der Variablen string einen weiteren Wert spendiert. Vielleicht könnt ihr auch einen Blick auf das Config Word machen und sagen ob noch etwas fehlt. [c] #include <p18f2410.h> #include <usart.h> #include <delays.h
passen. Das glaube ich eher nicht, denn 1024 * 500 = 512000 (0x7D000) Probiers mal so: [c] temp = (unsigned short long)mess_erg * (unsigned short long)500; temp = temp / (unsigned short long)1024; [/c]