Forum: Mikrocontroller und Digitale Elektronik Anfänger braucht Hilfe - Fleurys LCD-Lib läuft nicht


von Jens H. (Gast)


Lesenswert?

Hallo,

ich hab mir von Peter Fleury die LCD-Lib runtergeladen,
Nur krieg ich die jetzt beim besten Willen nicht zum laufen.

Ich erstelle unter AVR-Studio ein neues Projekt, füge die lcd.c als 
bestehende Source-File hinzu. Wenn ich unter Project - Configuration 
Options als Controller den atmega128 drin habe, compiliert er ohne 
Probleme, wnen ich auf atmega 8 ändere hab ich untenstehende 
Fehlermeldung

Kann mir BITTE jemand weiterhelfen? Bin noch nicht ganz so vertraut mit 
den ganzen Dingen :(

Meine c-Datei mit der Main Funktion
1
#include <avr/io.h>
2
#include <stdint.h>
3
#include "lcd.h"
4
5
6
int main ()
7
  {
8
  lcd_init(LCD_DISP_ON);
9
  while (1);
10
  return 0;
11
  }

1
rm -rf lcd_lest.o lcd.o  lcd_lest.elf dep/* lcd_lest.hex lcd_lest.eep lcd_lest.lss lcd_lest.map
2
Build succeeded with 0 Warnings...
3
avr-gcc -I"D:\Elektronik\Atmel\lcd_lest\."  -mmcu=atmega8 -Wall -gdwarf-2 -std=gnu99       -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT lcd_lest.o -MF dep/lcd_lest.o.d  -c  ../lcd_lest.c
4
avr-gcc -I"D:\Elektronik\Atmel\lcd_lest\."  -mmcu=atmega8 -Wall -gdwarf-2 -std=gnu99       -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT lcd.o -MF dep/lcd.o.d  -c  ../lcd.c
5
../lcd.c: In function 'toggle_e':
6
../lcd.c:120: error: 'PORTA' undeclared (first use in this function)
7
../lcd.c:120: error: (Each undeclared identifier is reported only once
8
../lcd.c:120: error: for each function it appears in.)
9
../lcd.c: In function 'lcd_write':
10
../lcd.c:141: error: 'PORTA' undeclared (first use in this function)
11
../lcd.c: In function 'lcd_read':
12
../lcd.c:222: error: 'PORTA' undeclared (first use in this function)
13
../lcd.c: In function 'lcd_init':
14
../lcd.c:528: error: 'PORTA' undeclared (first use in this function)
15
make: *** [lcd.o] Error 1
16
Build failed with 6 errors and 0 warnings...

Noch die Konfiguration in der lcd.h
1
#define LCD_PORT         PORTC        /**< port for the LCD lines   */
2
#define LCD_DATA0_PORT   LCD_PORT     /**< port for 4bit data bit 0 */
3
#define LCD_DATA1_PORT   LCD_PORT     /**< port for 4bit data bit 1 */
4
#define LCD_DATA2_PORT   LCD_PORT     /**< port for 4bit data bit 2 */
5
#define LCD_DATA3_PORT   PORTB        /**< port for 4bit data bit 3 */
6
#define LCD_DATA0_PIN    2            /**< pin for 4bit data bit 0  */
7
#define LCD_DATA1_PIN    1            /**< pin for 4bit data bit 1  */
8
#define LCD_DATA2_PIN    0            /**< pin for 4bit data bit 2  */
9
#define LCD_DATA3_PIN    1            /**< pin for 4bit data bit 3  */
10
#define LCD_RS_PORT      LCD_PORT     /**< port for RS line         */
11
#define LCD_RS_PIN       5            /**< pin  for RS line         */
12
#define LCD_RW_PORT      LCD_PORT     /**< port for RW line         */
13
#define LCD_RW_PIN       54           /**< pin  for RW line         */
14
#define LCD_E_PORT       LCD_PORT     /**< port for Enable line     */
15
#define LCD_E_PIN        3            /**< pin  for Enable line     */
Bis dann, Jens

von Chris M. (Gast)


Lesenswert?

Das Datenblatt hilft :-)

Der ATmega8 hat keinen PORTA, daher auch die Fehlermeldung.
Deine Funktionen benutzen aber PORTA, also mußt du dort entsprechend 
deiner Beschaltung den Code ändern.

von Düsendieb (Gast)


Lesenswert?

#define LCD_DATA0_PIN    2            /**< pin for 4bit data bit 0  */
#define LCD_DATA1_PIN    1            /**< pin for 4bit data bit 1  */
#define LCD_DATA2_PIN    0            /**< pin for 4bit data bit 2  */
#define LCD_DATA3_PIN    1            /**< pin for 4bit data bit 3  */


zwei mal der gleiche Pin?


#define LCD_RW_PIN       54           /**< pin  for RW line         */

auch ein Vertipper?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.