Problem mit uint8_t : void namevar(uint8_t x, uint8_t y) == Error

OP Persönliche Seite #1062575
Hallo,
ich steige gerade in C ein, und eine LCD-Routine beinhaltet folgende 
Deklaration:

void set_cursor(uint8_t x, uint8_t y);

Der Compiler mag das allerdings nicht, er meldet:

lcd.h:11: error: expected ')' before 'x'

Meine GCC Version ist die avrgcc 4.3.0

Ich verwende die "stdint.h" habe aber auch schon inttypes.h versucht, 
gleiches Problem. Kann mir da wer helfen?

MFG
µLuxx
OP Persönliche Seite
keins von beidem, das steht in der headerdatei der lcd-routine,
 das ganze sieht so aus:
1
// Ansteuerung eines HD44780 kompatiblen LCD im 4-Bit-Interfacemodus
2
// http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
3
//
4
void lcd_data(unsigned char temp1);
5
void lcd_string(char *data);
6
void lcd_command(unsigned char temp1);
7
void lcd_enable(void);
8
void lcd_init(void);
9
void lcd_home(void);
10
void lcd_clear(void);
11
void set_cursor(uint8_t x, uint8_t y);
12
 
13
// Hier die verwendete Taktfrequenz in Hz eintragen, wichtig!
14
 
15

16
 
17
// LCD Befehle
18
 
19
#define CLEAR_DISPLAY 0x01
20
#define CURSOR_HOME   0x02
21
 
22
// Pinbelegung für das LCD, an verwendete Pins anpassen
23
 
24
#define LCD_PORT      PORTC
25
#define LCD_DDR       DDRC
26
#define LCD_RS        PC5
27
#define LCD_EN        PC4
28
// DB4 bis DB7 des LCD sind mit PC0 bis PC3 des AVR verbunden


warum sind die vorhandenen Funktionen dort überhaupt aufgefürht?

(sry, bin noch neu in C)

µLuxx
@ AVR Abtrünniger (Gast)

>Schreib mal-> void set_cursor(unsigned char x, unsigned char y);
>und schau was passiert.

Nöö, uint8_t ist erstens kürzer und zweitens standardisiert.

Der Op muss "nur" einfach den code aus dem Tutorial VOLLSTÄNDIG und ohne 
Änderung übernehmen, dann klapp das auch mit dem Kompilieren. Den 
unit8_t ist kein C-Standardtyp, der wird erst in stdint.h defniert, 
welches wiederum in io.h drinsteckt.

MFG
Falk
Gast
>gleiches phänomen...scheint an meiner gcc version zu liegen, bei nem
>freund gehts...

glaub ich nicht!
Schreib mal ein "Programm" mit nur einer Zeile:

void set_cursor(unsigned char x, unsigned char y);

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.