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

OP Persönliche Seite #1062575
Lesenswert?

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 #1062588
Lesenswert?

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
#1062631
Lesenswert?

@ 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 #1062750
Lesenswert?

>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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren