PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grafik-Lcd-Config nimmt mir Portpin weg ?!



Roberto
13.11.2006, 07:52
Hallo

Habe da ein komisches Phänomen:

Habe da einen Mage32 und ein Grafik Lcd angeschlossen

Datenleitung vom LCD läuft auf Port C
Steuerleitung teils auf Port B

Jetzt habe ich das Problem, wenn ich zuerst das Port B definiere
und dann das Grafik-LCD , schaltet mir Bascom den Pin Portb.0 nicht frei. (ist dann nur auf Eingang)

Möchte Portb.0 auf Ausgabe und Portb.1 und Portb.2 für I2C





'################## Config Port's ###########
'-----config Port A
Config Porta = Input

'-----config Port B
Config Portb = Output ' &B00000001

'-----config Port D
Config Portd = &B11111010

'##################### Config für Grafik-LCD #########
Config Graphlcd = 240 * 128 , Dataport = Portc , Controlport = Portb , Ce = 6 , Cd = 7 , Wr = 4 , Rd = 5 , Reset = 3 , Fs = 2 , Mode = 8
Cursor Off
Cls

'############################ Config ADC ######
Config Adc = Single , Prescaler = Auto
Start Adc

'############################ Config I2C Bus ########
Config Scl = Portb.2 ' I2C-Port festlegen
Config Sda = Portb.1 ' I2C-Port festlegen




Wenn ich zuerst das LCD definiere und dann quasie mit einem Config Portb drüberschreibe, geht das LCD und den Pin Portb.0 habe ich auf Ausgabe !
(I2C geht jetzt zwar nicht (ging aber schon) aber da muss ich noch schauen....)



'##################### Config für Grafik-LCD #########
Config Graphlcd = 240 * 128 , Dataport = Portc , Controlport = Portb , Ce = 6 , Cd = 7 , Wr = 4 , Rd = 5 , Reset = 3 , Fs = 2 , Mode = 8
Cursor Off
Cls

'################## Config Port's ###########
'-----config Port A
Config Porta = Input

'-----config Port B
Config Portb = &B11111001

'-----config Port D
Config Portd = &B11111010


'############################ Config ADC ######
Config Adc = Single , Prescaler = Auto
Start Adc

'############################ Config I2C Bus ########
Config Scl = Portb.2 ' I2C-Port festlegen
Config Sda = Portb.1 ' I2C-Port festlegen



Mache ich da was falsch oder ist das ein Bug ?

Wo setze ich eigentlich das : Config Scl= Portb.2 und Config Sda = Portb.1
Vor den Config Ports oder nachher ?


Bitte um Hilfe :-)
l.G. Roberto

Vitis
13.11.2006, 10:00
Du kannst auch die einzelnen Pins eines Ports auf Input / Output setzen,
das muss nicht immer der ganze Port sein.
Es geht auch Config Portb.1 = input oder Du gehst gleich
den direkten Weg und verwendest das Data Direction Register oder kurz
DDRB = &B11111101 ... bin mir aber gerade nicht sicher ob 1 oder 0 lesen ist.

Roberto
13.11.2006, 10:23
Hallo Vitis (Danke für die Antwort)



oder Du gehst gleich
den direkten Weg und verwendest das Data Direction Register oder kurz
DDRB = &B11111101 .

Das "Config Portb= &B11111101" müsste ja das gleiche sein..

Mein i2C Bus geht inzwischen auch....

Es ist nur komisch, dass mir die Grafik-Config, mein Port B,
den Pin 0 überschreibt (wird zum Eingang) obwohl das LCD den Pin 0 gar nicht verwendet ?!
l.G. Roberto