PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mega8 und I2C



avrwalli
06.04.2005, 17:28
Hallo zusammen,

folgender Code gibt bei Bascom eine Fehlermeldung aus:


$regfile = "m8def.dat"
$crystal = 16000000 'Quarzfrequenz
$baud = 9600

I2cinit

Do

Loop

End


Die Fehlermeldung : Unknown Statement[.EQU not found for: PORTA] in File ....

Kann mir jemand helfen?
Wenn ich als CPU den Mega32 deklariere geht's.

Vielen Dank im Voraus.

MfG

Walli

x-ryder
06.04.2005, 17:58
Das kommt daher, das der ATMEGA8 keinen PortA hat aber dieser bei den Grundeinstellungen bei Bascom eingestellt ist....

du musst manuell am besten die beiden Pins wählen:


Config Scl = Portb.0
Config Sda = Portb.1

also:


$regfile = "m8def.dat"
$crystal = 16000000 'Quarzfrequenz
$baud = 9600

Config Scl = Portb.0
Config Sda = Portb.1

I2cinit

Do

Loop

End

Martin

Gerhard
06.04.2005, 18:40
@x-rider
... beim Mega8 liegt SDA auf PC4 und SCL auf PC5 !!!!



also:
Config Sda = Portc.4
Config Scl = Portc.5


mfg Gerhard

x-ryder
06.04.2005, 18:47
iss ja egal, bascom hat auch nen SoftI²C aber wenn er das HardI²C haben will dann isses so wie du geschriben hast richtig!

Martin

06.04.2005, 19:16
Hallo x-ryder und Gerhard,

Danke für die schnellen Antworten.

Ich habe die I2C-Pins jetzt im Programm definiert und wie erwartet läuft es jetzt.
In der M8def.dat sind allerdings die richtigen Portpins für das Hardware-TWI
definiert, es müsste also auch wie beim Mega32 klappen. Ist wahrscheinlich ein Fehler im Compiler.

Schönen Abend noch.

MfG

AVRWalli

x-ryder
06.04.2005, 20:25
nene, das liegt an den compilereinstellungen, nicht an den definitionen, in den optionen ist das normalerweise festgelegt