Hallo,
ich arbiete jetzt zum ersten Mal in µC/51, habe vorher immer viel mit CodeBlocks gearbeitet.
Nun habe ich eine einfache Funktion in meinem Programm, die angeblich falsch sein soll, aber ich kann leider keine Fehler finden.
Der Compiler ist so schlau, dass er mir nichteinmal sagt, welchen Fehler ich gemacht habe.
Als einziges bekomme ich gesagt, in welcher Zeile der Fehler stehen soll (Erste Anweisung in switch() ).
Vielleicht habe ich ja immer Fehler in der Programmierung gemacht, die CodeBlocks einfach toleriert hat - was ich mir nicht vorstellen kann.
Ich bitte Euch, einfach mal über den Code zu schauen, vielleicht habe ich ja doch einen Fehler.
Fehlermeldung in µC/51 ist dann:Code://Sonderfunktion zur Generierung von Sequenztext fuer Steuerzeichen im Terminal void cursor_pos_screen(unsigned char row, unsigned char column){ //Im Terminal Cursor positionieren unsigned char def_seq[]="\x1b\x59\x00\x00\0"; //Offset-String unsigned char x = 0; unsigned char convert_dec_hex_byte(unsigned char byte, unsigned char low_high){ //Oberes Byte in HEX unsigned char result = 0; if(low_high){ //Oberen Bits result = ((byte&0xF0)>>4); result += 2; //32 Addieren -> ESC_OFFSET } if(!low_high){ //Unteren Bits result = (byte&0x0F); } #define BASE_NUMBERS 48 //Basis von 0 in der ASCII if(result < 10){ //Wenn HEX als Zahl dargestellt werden kann result += BASE_NUMBERS; } #define BASE_LETTERS 97 //Basis von a in der ASCII else{ //Sonst andere Basis result += BASE_LETTERS; } return result; } #define ESC_ROW 10 //Offsetwert fuer oberes 1/2 Byte Reihenkoordinate #define ESC_COL 14 //Offsetwert analog wie oben fuer die Spaltenkoordinate #define HIGH 1 #define LOW 0 for(x=0;x<4;x++){ //Steuerzeichen nacheinander einlesen und uebertragen switch(x){ //Nach x entscheiden, welcher Wert geaendert wird case 0: //Reihe def_seq[ESC_ROW] = convert_dec_hex_byte(row,1); break; case 1: //Reihe def_seq[ESC_ROW+1] = convert_dec_hex_byte(row,0); break; case 2: //Spalte def_seq[ESC_COL] = convert_dec_hex_byte(column,1); break; case 3: //Spalte def_seq[ESC_COL+1] = convert_dec_hex_byte(column,0); break; } } write_to_rs232(&def_seq); //Fertige Sequenz ausgeben }
test_1.c 74: Error: too many errors.
Wie schon erwähnt: Reihe 74 ist "case 0: //Reihe"
Vielen Dank im Voraus!







Zitieren


Lesezeichen