PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu BASIC



Torrentula
16.10.2009, 08:43
Welche Konstante wird hier erwartet?


SYS LED_DRIVE:pulse LSTROBE:RETURN


Ganzes Programm:


'--------------------------
'------ I/O PORTS ---------
'--------------------------
'- INTERFACE LCD/EXTPORT --
define sdio port[1]
define sclio port[3]
define strobe port[4]
define LSTROBE port[7]
'-- INTERFACE COM/NAV -----
define DATALINE port[1]
define CLOCKLINE port[2]
'-- CC2 INTERFACE -------
define CC2POWER port[8]
'--------------------------
'------ SENSORS ---------
'--------------------------
define LIGHT_L ad[7]
define LIGHT_R ad[6]
define SYS_VOLTS ad[3]
define CHRG_CURRENT ad[2]
define SYS_CURRENT ad[1]
define MIC ad[4]
define TOUCH ad[5]
'---------------------------
'------ DRIVE -------------
'---------------------------
define SPEED_L da[1]
define SPEED_R da[2]
define REV_L port[6]
define REV_R port[5]
'--------------------------
'---- SYSTEM MEMORY -------
'--------------------------
'--- INTERFACE BUFFER ----
define LBYTE byte[1]
define HBYTE byte[2]
define SUBCMD byte[3]
'---- OPERATION DATA ------
define EXTPORT byte[4]
define LED1_F bit[29]
define LED2_F bit[30]
define LED3_F bit[31]
define LED4_F bit[32]
define SYSTEM_STATUS byte[5]
define LEDPORT byte[6]
define L1_F bit[41]
define L2_F bit[42]
define L3_F bit[43]
define L4_F bit[44]
define L5_F bit[45]
define L6_F bit[46]
define L7_F bit[47]
define L8_F bit[48]
'--------------------------
'---- USER MEMORY -------
'--------------------------
define TIM byte[6]
define PGM byte[7]
'--- SYSTEMROUTINEN -----------
define PLM_SLOW &H01C4
define SYSTEM &H01C9
define COMNAV &H0154
'- ERWEITERTE SYSTEM ROUTINEN -
define REVR &H0101 'ANTRIEB RECHTS RÜCKWÄRTS
define REVL &H0106 'ANTRIEB LINKS RÜCKWÄRTS
define FWDR &H010B 'ANTRIEG RECHTS VORWÄRTS
define FWDL &H0110 'ANTRIEB LINKS VORWÄRTS
define ROTR &H0115 'RECHTS DREHEN
define ROTL &H0119 'LINKS DREHEN
define REV &H011D 'RÜCKWÄRTS
define FWD &H0121 'VORWÄRTS
define COMNAV_STATUS &H0125 'UPDATED ALLE FLAGS IM STATUS-REGISTER
define ACS_LO &H01E1 'ACS POWER LO
define ACS_HI &H01E9 '
define ACS_MAX &H01F1 '
define SEND_TLM &H014A 'SENDET TELEMETRIE (CH=HBYTE,DATEN=LBYTE)
define SEND_SPEEDR &H0134 'SENDET TLM KANAL 8,PLM RECHTS
define SEND_SPEEDL &H013A 'SENDET TLM KANAL 7,PLM LINKS
define SEND_SYSSTAT &H0144 'SENDET TLM KANAL 0,SYSTEM STATUS
'(FLAGS für ACS,FWD/REV, ACS_LO/HI/MAX)
'---------- INIT---------------
LSTROBE=off:CC2POWER=on
gosub SUBSYS_PWR_ON:REV_L=off:REV_R=off
beep 368,10,0:pause 50
PGM=1
'--------------------------------------------
'--- DEMO BERÜHRUNGSSENSOR UND LEDs ---
'--------------------------------------------
#NO_SELECT
on PGM goto LOOP,PGM1,PGM2,PGM3,PGM4
gosub LEDSOFF
#LOOP
if TOUCH < 20 then goto NO_SELECT
if TOUCH < 40 then goto SEL1
if TOUCH < 60 then goto SEL2
if TOUCH < 80 then goto SEL3
if TOUCH < 100 then goto SEL4
if TOUCH < 120 then goto SEL5
if TOUCH < 140 then goto SEL6
if TOUCH < 160 then goto SEL7
if TOUCH < 180 then goto SEL8
goto LOOP
'------------- AUSWAHL ---------------------------
#SEL1
gosub LEDSOFF:gosub L1ON:pause 10:PGM=1:goto LOOP
#SEL2
gosub LEDSOFF:gosub L2ON:pause 10:PGM=2:goto LOOP
#SEL3
gosub LEDSOFF:gosub L3ON:pause 10:PGM=3:goto LOOP
#SEL4
gosub LEDSOFF:gosub L4ON:pause 10:PGM=4:goto LOOP
#SEL5
gosub LEDSOFF:gosub L5ON:pause 10:PGM=5:goto LOOP
#SEL6
gosub LEDSOFF:gosub L6ON:pause 10:PGM=6:goto LOOP
#SEL7
gosub LEDSOFF:gosub L7ON:pause 10:PGM=7:goto LOOP
#SEL8
gosub LEDSOFF:gosub L8ON:pause 10:PGM=8:goto LOOP
'-------- AUSGEWÄHLTE PROGRAMME ----------------------
#PGM1
gosub LEDSOFF:pause 20:GOSUB L8ON:pause 20:goto loop
#PGM2
gosub LEDSOFF:pause 20:GOSUB L7ON:pause 20:goto loop
#PGM3
gosub LEDSOFF:pause 20:GOSUB L6ON:pause 20:goto loop
#PGM4
gosub LEDSOFF:pause 20:GOSUB L5ON:pause 20:goto loop
#PGM5
gosub LEDSOFF:pause 20:GOSUB L4ON:pause 20:goto loop
#PGM6
gosub LEDSOFF:pause 20:GOSUB L3ON:pause 20:goto loop
#PGM7
gosub LEDSOFF:pause 20:GOSUB L2ON:pause 20:goto loop
#PGM8
gosub LEDSOFF:pause 20:GOSUB L1ON:pause 20:goto loop
'-------------------------------------------------------



'IIIIIIIIIII LED DRIVER IIIIIIIIIIIIIIIII
#LED1ON
LED1_F=on:goto EXTPORT_WRITE
#LED1OFF
LED1_F=off :goto EXTPORT_WRITE
#LED2ON
LED2_F=on:goto EXTPORT_WRITE
#LED2OFF
LED2_F=off:goto EXTPORT_WRITE
#LED3ON
LED3_F=on:goto EXTPORT_WRITE
#LED3OFF
LED3_F=off:goto EXTPORT_WRITE
#LED4ON
LED4_F=on:goto EXTPORT_WRITE
#LED4OFF
LED4_F=off:goto EXTPORT_WRITE
#LEDSOFF
EXTPORT=EXTPORT and &H0F:goto EXTPORT_WRITE
#EXTPORT_WRITE
SYS SYSTEM:pulse STROBE:RETURN
'--- LEDS AUF DER BASIS ERWEITERUNG ------
#L1ON
L1_F=on:goto LEDPORT_WRITE
#L1OFF
L1_F=off :goto LEDPORT_WRITE
#L2ON
L2_F=on:goto LEDPORT_WRITE
#L2OFF
L2_F=off :goto LEDPORT_WRITE
#L3ON
L3_F=on:goto LEDPORT_WRITE
#L3OFF
L3_F=off :goto LEDPORT_WRITE
#L4ON
L4_F=on:goto LEDPORT_WRITE
#L4OFF
L4_F=off :goto LEDPORT_WRITE
#L5ON
L5_F=on:goto LEDPORT_WRITE
#L5OFF
L5_F=off :goto LEDPORT_WRITE
#L6ON
L6_F=on:goto LEDPORT_WRITE
#L6OFF
L6_F=off :goto LEDPORT_WRITE
#L7ON
L7_F=on:goto LEDPORT_WRITE
#L7OFF
L7_F=off :goto LEDPORT_WRITE
#L8ON
L8_F=on:goto LEDPORT_WRITE
#L8OFF
L8_F=off :goto LEDPORT_WRITE
#LOFF
LEDPORT=0
#LEDPORT_WRITE
SYS LED_DRIVE:pulse LSTROBE:RETURN

'IIIIII SYSTEMROUTINEN COMM/NAV SYSTEM IIIII
#GET_IRDATA
SUBCMD=1:sys COMNAV:return
#SEND_IRDATA
SUBCMD=0:sys COMNAV:return
#RC5
SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFC
HBYTE=00:SUBCMD=2:sys COMNAV:return
#RC5_INT
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE and &HFE)or 2
HBYTE=00:SUBCMD=2:sys COMNAV:return
#REC80
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H01)and&HFD
HBYTE=00:SUBCMD=2:sys COMNAV:return
#REC80_INT
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H03)
HBYTE=00:SUBCMD=2:sys COMNAV:return
'IIIIII SYSTEMROUTINEN SYSTEM IIIIIIIIIIII
#NO_ACS_INT
SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFB
HBYTE=00:SUBCMD=2:sys COMNAV:return
#ACS_INT_200
SUBCMD=4:sys COMNAV:LBYTE= HBYTE or &H04
HBYTE=50:SUBCMD=2:sys COMNAV:return
#SUBSYS_PWR_ON
sdio=on:sclio=on:strobe=off:EXTPORT=(EXTPORT and &HFE)or 8
sys SYSTEM:return
#SUBSYS_PWR_OFF
EXTPORT=(EXTPORT and &HF7)or 1:sys SYSTEM
deact sdio:deact sclio:return


#CLR_DISTANCE
SUBCMD=3:sys COMNAV:return
#L_DISTANCE
SUBCMD=6:sys COMNAV:return
#R_DISTANCE
SUBCMD=7:sys COMNAV:return
'---------COM/NAV GERÄTEREIBER -------------
syscode "p5driv.s19"

Dirk
16.10.2009, 12:26
Welche Konstante wird hier erwartet?
Gar keine.
Es wird in der Variablen LEDPORT (byte[6]) ein gesetztes Bit für jede LED, die leuchten soll, erwartet.

Gruß Dirk

Torrentula
16.10.2009, 13:07
Danke Dirk!
dann muss ich mich wohl mit 8 LED's (soweit ich das verstanden habe begnügen)

Grüße
Torrentula

Torrentula
16.10.2009, 13:14
Wenn ich es Kompiliere , dann sagt er immernoch, dass er eine Konstante erwartet....

außerdem ist TIM auch mit byte[6] definiert....


Hilfe!
[-o<

Dirk
16.10.2009, 14:48
Hallo,

wenn du die LEDs auf der Erweiterung benutzen willst, darfst du byte[6] nur für LEDPORT benutzen. Das ist in deinem Programm ja auch mit der Zeile:
define LEDPORT byte[6]
... richtig definiert.
Der Variablen TIM must du ein anderes (freies) Byte zuordnen.

Gruß Dirk

Torrentula
16.10.2009, 18:43
Dafür müsste ich nur wissen wieviele freie bytes es gibt!

Danke für die Antwort(en)

Torrentula

Dirk
16.10.2009, 18:51
Dafür müsste ich nur wissen wieviele freie bytes es gibt!

Es gibt insgesamt 24 Bytes RAM (byte[1]...byte[24].

Beim CCRP5 mit Erweiterung (aber OHNE die C-Control II !) beginnt das "User Memory" ab byte[10]. Wenn du kein LCD an der Erweiterung hast, kannst du auch noch die bytes [7] und [8] frei nutzen.

Gruß Dirk

Torrentula
16.10.2009, 19:09
Ich habe zwar tolle und hilfreiche Antworten bekommen (Danke Dirk!)
aber irgendwie funzt es nicht.
Er beharrt fest darauf dass er hier
SYS LED_DRIVE:pulse LSTROBE:RETURN eine Konstante braucht.........

Dirk
16.10.2009, 20:59
Er beharrt fest darauf dass er hier .... SYS LED_DRIVE:pulse LSTROBE:RETURN ... eine Konstante braucht.........

Du hast Recht, hatte ich übersehen: LED_DRIVE wird gar nicht definiert.

Also:
Wenn du den CCRP5 solo (OHNE Erweiterungsplatine) hast, dann brauchst du den Treiber "p5driv.s19", den du ja mit syscode am Ende des Programms einbindest. Die Definitionen im Programm (ab Zeile '--- SYSTEMROUTINEN -----------) passen dann zu diesem Treiber.

Du hast ja aber offensichtlich den CCRP5 PLUS Erweiterungsplatine. Dann heißt der Treiber "p5driv12.s19". Der braucht andere Definitionen. Da kommt dann auch LED_DRIVE drin vor.

Das heißt: Wenn du Programme vom CCRP5 solo hattest und dir dann die Erweiterungsplatine drauf setzt, must du deine Programme umschreiben. Das betrifft die Definitionen für den neuen Treiber und die Unterprogramme. Auch die Initialisierungen sind teils unterschiedlich.


Die Definitionen für den Treiber "p5driv12.s19" sehen so aus:

'--- SYSTEMROUTINEN -----------
define PLM_SLOW &H01C2
define SYSTEM &H01C7
define LED_DRIVE &H01CA
define COMNAV &H0144
'- ERWEITERTE SYSTEM ROUTINEN -
define REVR &H0101 'ANTRIEB RECHTS RÜCKWÄRTS
define REVL &H0106 'ANTRIEB LINKS RÜCKWÄRTS
define FWDR &H010B 'ANTRIEG RECHTS VORWÄRTS
define FWDL &H0110 'ANTRIEB LINKS VORWÄRTS
define ROTR &H0115 'RECHTS DREHEN
define ROTL &H0119 'LINKS DREHEN
define REV &H011D 'RÜCKWÄRTS
define FWD &H0121 'VORWÄRTS
define COMNAV_STATUS &H0125 'UPDATED ALLE FLAGS IM STATUS-REGISTER
define ACS_LO &H01E0 'ACS POWER LO
define ACS_HI &H01E8 '
define ACS_MAX &H01F0 '
define SEND_TLM &H013A 'SENDET TELEMETRIE (CH=HBYTE, DATEN=LBYTE)
define SEND_SYSSTAT &H0134 'SENDET TLM KANAL 0, SYSTEM STATUS
'(FLAGS für ACS, FWD/REV, ACS_LO/HI/MAX)

Wenn du diese Definitionen verwendest, must du natürlich am Ende einfügen:
syscode "p5driv12.s19"

Gruß Dirk

Torrentula
17.10.2009, 15:06
Danke, Dirk!

Allerdings erwartet er jetzt hier


SYS LED_DRIVE:pulse LSTROBE:RETURN

eine Bitportvariable!

HILFE!

Dirk
17.10.2009, 16:20
Hallo Torrentula,

hier mal ein "Leerprogramm" für den CCRP5 mit Erweiterung. Da sind alle Definitionen, Variablen und Unterprogramme richtig drin.

'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII
'IIIIIIIIII ROBBY RP5 - Leerprogramm 2 IIIIIIIIIIII
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII
'PROGRAMM-RUMPF ZUM START EIGENER ENTWICKLUNGEN

' Programm-Name: LEERPROGRAMM_BE1.bas
' Hardware: Robby RP5 MIT Erweiterungsplatine, aber OHNE CC2
' (und ggf. mit LC-Display an LCD1)
' Treiber: P5DRIV12.S19
'----------------------------------------------------------------------
'------ Konstanten --------
define V_OFFSET 0 '= CHRG_CURRENT - SYS_VOLTS (Abgleichwert)
define V_ADJUST 2 'Eichwert Spannungen (Bauteile-abhängig!)
'Hier weitere Konstanten-Definitionen!

'--------------------------
'------ I/O PORTS ---------
'--------------------------
'- INTERFACE LCD/EXTPORT --
define sdio port[1]
define sclio port[3]
define strobe port[4]
define LSTROBE port[7]
'-- INTERFACE COM/NAV -----
define DATALINE port[1]
define CLOCKLINE port[2]
'-- CC2 INTERFACE -------
define CC2POWER port[8]
'------ LCD INTERFACE ------
'define lcd_port byteport[2] 'Frei, wenn kein LCD angeschlossen ist!
'define lcd_rs port[14]
'define lcd_rw port[13]
'define lcd_e port[15]
'--------------------------
'------ SENSORS ---------
'--------------------------
define FREIAD8 ad[8] 'Freier A/D-Wandler
define LIGHT_L ad[7]
define LIGHT_R ad[6]
define SYS_VOLTS ad[3]
define CHRG_CURRENT ad[2]
define SYS_CURRENT ad[1]
define MIC ad[4]
define TOUCH ad[5]
'---------------------------
'------ DRIVE -------------
'---------------------------
define SPEED_L da[1]
define SPEED_R da[2]
define REV_L port[6]
define REV_R port[5]
'--------------------------
'---- SYSTEM MEMORY -------
'--------------------------
'--- INTERFACE BUFFER ----
define LBYTE byte[1]
define HBYTE byte[2]
define SUBCMD byte[3]
'---- OPERATION DATA ------
define EXTPORT byte[4]
define LED1_F bit[29]
define LED2_F bit[30]
define LED3_F bit[31]
define LED4_F bit[32]
define SYSTEM_STATUS byte[5]
define ACSL_F bit[33]
define ACSR_F bit[34]
define IR_F bit[35]
define LEDPORT byte[6]
define L1_F bit[41]
define L2_F bit[42]
define L3_F bit[43]
define L4_F bit[44]
define L5_F bit[45]
define L6_F bit[46]
define L7_F bit[47]
define L8_F bit[48]
'---- LCD DRIVER -------------
'define lcd_buf byte[7] 'Bytes 7 und 8 frei, wenn LCD nicht genutzt wird!
'define lcd_param byte[8]
'--------------------------
'---- USER MEMORY -------
'--------------------------
define DEVICEADDRESS byte[9]
'User Memory ab BYTE[10] frei!

'--- SYSTEMROUTINEN -----------
define PLM_SLOW &H01C2
define SYSTEM &H01C7
define LED_DRIVE &H01CA
define COMNAV &H0144
'- ERWEITERTE SYSTEM ROUTINEN -
define REVR &H0101 'ANTRIEB RECHTS RÜCKWÄRTS
define REVL &H0106 'ANTRIEB LINKS RÜCKWÄRTS
define FWDR &H010B 'ANTRIEG RECHTS VORWÄRTS
define FWDL &H0110 'ANTRIEB LINKS VORWÄRTS
define ROTR &H0115 'RECHTS DREHEN
define ROTL &H0119 'LINKS DREHEN
define REV &H011D 'RÜCKWÄRTS
define FWD &H0121 'VORWÄRTS
define COMNAV_STATUS &H0125 'UPDATED ALLE FLAGS IM STATUS-REGISTER
define ACS_LO &H01E0 'ACS POWER LO
define ACS_HI &H01E8 '
define ACS_MAX &H01F0 '
define SEND_TLM &H013A 'SENDET TELEMETRIE (CH=HBYTE, DATEN=LBYTE)
define SEND_SYSSTAT &H0134 'SENDET TLM KANAL 0, SYSTEM STATUS
'(FLAGS für ACS, FWD/REV, ACS_LO/HI/MAX)
'---------- INIT---------------
' Basiserweiterung initialisieren:
LSTROBE=off 'LEDPORT-Zugriff ermöglichen
CC2POWER=on 'PWR und +5V (für CC2 und Experimentierplatine) einschalten

' Subsysteme einschalten:
gosub SUBSYS_PWR_ON

' LC-Display initialisieren:
'gosub LCD_INIT

beep 368,10,0:pause 50
gosub LEDSOFF 'Alle LEDs auf Robby aus
gosub LOFF 'Alle LEDs auf Basiserweiterung aus

' ACS initialisieren:
'---- SYSTEM OPERATION MODE (NO INTERRUPT) ----
'gosub NO_ACS_INT:beep 368,10,0:sys ACS_HI 'oder: ACS_LO, ACS_MAX
' ODER ...
'---- SYSTEM OPERATION MODE (ACS INTERRUPT 200 ms) ----
'interrupt ACS_INTERRUPT:gosub ACS_INT_200:beep 368,10,0:sys ACS_HI

' IR-COMM initialisieren:
'--------- IR-DATENFORMAT -----------------
'gosub RC5 'oder: REC80
' ODER ...
'---- IRCOMM OPERATION MODE (INTERRUPT ON) ----
'interrupt IRCOMM_INTERRUPT:gosub RC5_INT 'oder: REC80_INT
'---------- SET ADDRESSED MODE -----------------
'DEVICEADDRESS=1 'oder: 2..15
'gosub SET_ADDRESS

'------------ ANTRIEB -------------------------
REV_L=on:REV_R=on:sys PLM_SLOW
'----------------------------------------------------------------------
' Hier ggf. weitere Initialisierungs-Befehle!!!

'----------------------------------------------------------------------
' PROGRAMM:
' Hier mit dem Programm beginnen!!!



'----------------------------------------------------------------------
' UNTERPROGRAMME:

'----------------------------------------------
'--------- ACS INTERRUPT SERVICE --------------
'----------------------------------------------
'#ACS_INTERRUPT 'Beispiel für eine Interruptroutine!
'sys COMNAV_STATUS
'if ACSL_F=on then gosub LED4ON else gosub LED4OFF
'if ACSR_F=on then gosub LED1ON else gosub LED1OFF
'pause 5:gosub LED1OFF:gosub LED4OFF:return interrupt
'---------------------------------------------
' ODER ... (ACHTUNG: Nur EINE Interrupt-Routine ist möglich!!!)
'---------------------------------------------
'-------- IR-COMM INTERRUPT SERVICE ----------
'---------------------------------------------
'#IRCOMM_INTERRUPT 'Beispiel für eine Interruptroutine!
'sys COMNAV_STATUS
'gosub GET_IRDATA
'gosub LED1ON:pause 5:gosub LED1OFF:return interrupt
'---------------------------------------------

'IIIIIIII Binärausgabe mit 8 LEDs der Basiserweiterung IIIIIIII
' Der Robby mit Basiserweiterung kann OHNE LC-Display keine Werte
' (z.B. seiner Sensoren) anzeigen. Diese Routine gibt VALUE mit
' den 8 LEDs der Basiserweiterung in Binärform (8 Bit) aus.
' Die Variable VALUE muss als BYTE definiert sein!
'#LBINOUT
'gosub LOFF: gosub L1FLASH: gosub L1FLASH
'gosub L1FLASH: gosub L1FLASH: gosub L1FLASH
'if (VALUE and &B1) <> 0 then gosub L1ON
'if (VALUE and &B10) <> 0 then gosub L2ON
'if (VALUE and &B100) <> 0 then gosub L3ON
'if (VALUE and &B1000) <> 0 then gosub L4ON
'if (VALUE and &B10000) <> 0 then gosub L5ON
'if (VALUE and &B100000) <> 0 then gosub L6ON
'if (VALUE and &B1000000) <> 0 then gosub L7ON
'if (VALUE and &B10000000) <> 0 then gosub L8ON
'pause 200: return
'#L1FLASH
'gosub L1ON: pause 5: gosub L1OFF: pause 5: return

'Binär-Dezimal-Tabelle (4-Bit):
' WERT: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
' L1-> 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
' L2-> 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
' L3-> 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
' L4-> 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
'
' Der Dezimal-WERT kann in der 1. Zeile abgelesen werden, wenn man
' die zutreffende LED-Kombination aussucht (1 -> an, 0 -> aus).
' Für jede leuchtende LED 5 bis 8 muss noch folgender Wert addiert
' werden: L5-> + 16
' L6-> + 32
' L7-> + 64
' L8-> +128
' Damit erhält man dann den ganzen 8-Bit-Dezimalwert (0..255).

'----------------------------------------------------------------------

'IIIIIIIIIII LED DRIVER IIIIIIIIIIIIIIIII
#LED1ON
LED1_F=on:goto EXTPORT_WRITE
#LED1OFF
LED1_F=off :goto EXTPORT_WRITE
#LED2ON
LED2_F=on:goto EXTPORT_WRITE
#LED2OFF
LED2_F=off:goto EXTPORT_WRITE
#LED3ON
LED3_F=on:goto EXTPORT_WRITE
#LED3OFF
LED3_F=off:goto EXTPORT_WRITE
#LED4ON
LED4_F=on:goto EXTPORT_WRITE
#LED4OFF
LED4_F=off:goto EXTPORT_WRITE
#LEDSOFF
EXTPORT=EXTPORT and &H0F:goto EXTPORT_WRITE
#LEDSON
EXTPORT=EXTPORT or &HF0
#EXTPORT_WRITE
sys SYSTEM:pulse STROBE:return

'--- LEDS AUF DER BASIS ERWEITERUNG ------
#L1ON
L1_F=on:goto LEDPORT_WRITE
#L1OFF
L1_F=off :goto LEDPORT_WRITE
#L2ON
L2_F=on:goto LEDPORT_WRITE
#L2OFF
L2_F=off :goto LEDPORT_WRITE
#L3ON
L3_F=on:goto LEDPORT_WRITE
#L3OFF
L3_F=off :goto LEDPORT_WRITE
#L4ON
L4_F=on:goto LEDPORT_WRITE
#L4OFF
L4_F=off :goto LEDPORT_WRITE
#L5ON
L5_F=on:goto LEDPORT_WRITE
#L5OFF
L5_F=off :goto LEDPORT_WRITE
#L6ON
L6_F=on:goto LEDPORT_WRITE
#L6OFF
L6_F=off :goto LEDPORT_WRITE
#L7ON
L7_F=on:goto LEDPORT_WRITE
#L7OFF
L7_F=off :goto LEDPORT_WRITE
#L8ON
L8_F=on:goto LEDPORT_WRITE
#L8OFF
L8_F=off :goto LEDPORT_WRITE
#LOFF
LEDPORT=0 :goto LEDPORT_WRITE
#LON
LEDPORT=&HFF
#LEDPORT_WRITE
sys LED_DRIVE:pulse LSTROBE:return

'----------------------------------------
'------------- LCD ROUTINES -------------
'----------------------------------------
'#LCD_INIT
' alle ports 0
' lcd_port = OFF

' 8-Bit-Modus aktivieren
' lcd_param=&H38 : gosub LCD_WRITECMD

' mit 8-Bit-Command in 4-Bit-Modus umschalten
' lcd_port=&B00000010
' tog lcd_e
' tog lcd_e

' ab jetzt 4-Bit-Modus
' lcd_param = &H28 : gosub LCD_WRITECMD
' lcd_param = &H0C : gosub LCD_WRITECMD

' Display loeschen
'#LCD_CLS
' lcd_param = &H02 : gosub LCD_WRITECMD
' lcd_param = &H01 : gosub LCD_WRITECMD
'return

' Zeilenwechsel
'#LCD_GOTOLINE
' if lcd_param = 1 then lcd_param = &H80
' if lcd_param = 2 then lcd_param = &HC0
' goto LCD_WRITECMD

' LCD-Kommando
'#LCD_WRITECMD
' lcd_buf = OFF
' goto LCD_WRITE

' Zeichenausgabe
'#LCD_WRITECHAR
' lcd_buf = &B00100000

' Kommando oder Zeichen an Display senden
'#LCD_WRITE
' lcd_port = lcd_buf or (lcd_param shr 4) ' Hi-Nibble
' tog lcd_e
' tog lcd_e
' lcd_port = lcd_buf or (lcd_param and &H0F) ' Lo-Nibble
' tog lcd_e
' tog lcd_e
'return

'IIIIII SYSTEMROUTINEN COMM/NAV SYSTEM IIIII
#GET_IRDATA
SUBCMD=1:sys COMNAV:return
#SEND_IRDATA
SUBCMD=0:sys COMNAV:return
#GET_TLM
SUBCMD=1:sys COMNAV:LBYTE= LBYTE or (HBYTE shl 6)
HBYTE= HBYTE shr 2:return
#RC5
SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFC
HBYTE=00:SUBCMD=2:sys COMNAV:return
#RC5_INT
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE and &HFE)or 2
HBYTE=00:SUBCMD=2:sys COMNAV:return
#REC80
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H01)and &HFD
HBYTE=00:SUBCMD=2:sys COMNAV:return
#REC80_INT
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H03)
HBYTE=00:SUBCMD=2:sys COMNAV:return
#ADDRESSED_MODE_ON
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H10)
HBYTE=00:SUBCMD=2:sys COMNAV:return
#ADDRESSED_MODE_OFF
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE and &HEF)
HBYTE=00:SUBCMD=2:sys COMNAV:return
#SET_ADDRESS
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H10)
HBYTE=00:SUBCMD=2:sys COMNAV
LBYTE=DEVICEADDRESS:SUBCMD=5:sys COMNAV:return
#GET_ADDRESSED_DATA
SUBCMD=1:sys COMNAV:HBYTE=HBYTE and &H7:return
#SEND_ADDRESSED_DATA
HBYTE=(HBYTE shl 3)or DEVICEADDRESS:SUBCMD=0:sys COMNAV:return
#WAIT_PING
SUBCMD=8:sys COMNAV:return

'IIIIII SYSTEMROUTINEN SYSTEM IIIIIIIIIIII
#NO_ACS_INT
SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFB
HBYTE=00:SUBCMD=2:sys COMNAV:return
#ACS_INT_200
SUBCMD=4:sys COMNAV:LBYTE= HBYTE or &H04
HBYTE=50:SUBCMD=2:sys COMNAV:return
#SUBSYS_PWR_ON
sdio=on:sclio=on:strobe=off:EXTPORT=(EXTPORT and &HFE)or 8
sys SYSTEM:return
#SUBSYS_PWR_OFF
EXTPORT=(EXTPORT and &HF7)or 1:sys SYSTEM
deact sdio:deact sclio:return


#CLR_DISTANCE
SUBCMD=3:sys COMNAV:return
#L_DISTANCE
SUBCMD=6:sys COMNAV:return
#R_DISTANCE
SUBCMD=7:sys COMNAV:return

'---------COM/NAV GERÄTEREIBER -------------
syscode "p5driv12.s19"

Gruß Dirk

Torrentula
17.10.2009, 16:40
Danke!

Gruß

Torrentula

Torrentula
18.10.2009, 19:31
Ist das 2*16 character LC-Display auch kaputt wenn ich den Kontrast einstellen kann? Ich hab hier im Forum nämlich gelesen (glaub das war sogar ein Beitrag von dir Dirk), dass wenn man das LCD einmal falsch auf die BE steckt, es kapputt ist. Die Frage rührt daher, dass ich mir nicht sicher bin, ob ich's falsch draufgesteckt habe und das Beispoelprogramm irgendwie nicht läuft.

Dirk
18.10.2009, 20:33
Ist das 2*16 character LC-Display auch kaputt wenn ich den Kontrast einstellen kann?
Kann sein. Leider.

Hast du es auch am Stecker LCD1 sitzen?

Gruß Dirk

Torrentula
19.10.2009, 08:16
Es sitzt an stecker 1 also links. Ich glaub im programm steht "...evtl. empfangene Daten werden am Display angezeigt."

Torrentula
19.10.2009, 10:08
Dieses Programm



'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII
'IIIIIIIIII ROBBY RP5 - Leerprogramm 2 IIIIIIIIIIII
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIII
'PROGRAMM-RUMPF ZUM START EIGENER ENTWICKLUNGEN

' Programm-Name: LEERPROGRAMM_BE1.bas
' Hardware: Robby RP5 MIT Erweiterungsplatine, aber OHNE CC2
' (und ggf. mit LC-Display an LCD1)
' Treiber: P5DRIV12.S19
'----------------------------------------------------------------------
'------ Konstanten --------
define V_OFFSET 0 '= CHRG_CURRENT - SYS_VOLTS (Abgleichwert)
define V_ADJUST 2 'Eichwert Spannungen (Bauteile-abhängig!)
'Hier weitere Konstanten-Definitionen!

'--------------------------
'------ I/O PORTS ---------
'--------------------------
'- INTERFACE LCD/EXTPORT --
define sdio port[1]
define sclio port[3]
define strobe port[4]
define LSTROBE port[7]
'-- INTERFACE COM/NAV -----
define DATALINE port[1]
define CLOCKLINE port[2]
'-- CC2 INTERFACE -------
define CC2POWER port[8]
'------ LCD INTERFACE ------
define Daten byteport[1]
define lcd_port byteport[2] 'Frei, wenn kein LCD angeschlossen ist!
define lcd_RS port[14]
define lcd_RW port[13]
define lcd_E port[15]
'--------------------------
'------ SENSORS ---------
'--------------------------
define FREIAD8 ad[8] 'Freier A/D-Wandler
define LIGHT_L ad[7]
define LIGHT_R ad[6]
define SYS_VOLTS ad[3]
define CHRG_CURRENT ad[2]
define SYS_CURRENT ad[1]
define MIC ad[4]
define TOUCH ad[5]
'---------------------------
'------ DRIVE -------------
'---------------------------
define SPEED_L da[1]
define SPEED_R da[2]
define REV_L port[6]
define REV_R port[5]
'--------------------------
'---- SYSTEM MEMORY -------
'--------------------------
'--- INTERFACE BUFFER ----
define LBYTE byte[1]
define HBYTE byte[2]
define SUBCMD byte[3]
'---- OPERATION DATA ------
define EXTPORT byte[4]
define LED1_F bit[29]
define LED2_F bit[30]
define LED3_F bit[31]
define LED4_F bit[32]
define SYSTEM_STATUS byte[5]
define ACSL_F bit[33]
define ACSR_F bit[34]
define IR_F bit[35]
define LEDPORT byte[6]
define L1_F bit[41]
define L2_F bit[42]
define L3_F bit[43]
define L4_F bit[44]
define L5_F bit[45]
define L6_F bit[46]
define L7_F bit[47]
define L8_F bit[48]
'---- LCD DRIVER -------------
define lcd_buf byte[7] 'Bytes 7 und 8 frei, wenn LCD nicht genutzt wird!
define lcd_param byte[8]
'--------------------------
'---- USER MEMORY -------
'--------------------------
define DEVICEADDRESS byte[9]
define zeichen byte[10]
'User Memory ab BYTE[10] frei!

'--- SYSTEMROUTINEN -----------
define PLM_SLOW &H01C2
define SYSTEM &H01C7
define LED_DRIVE &H01CA
define COMNAV &H0144
'- ERWEITERTE SYSTEM ROUTINEN -
define REVR &H0101 'ANTRIEB RECHTS RÜCKWÄRTS
define REVL &H0106 'ANTRIEB LINKS RÜCKWÄRTS
define FWDR &H010B 'ANTRIEG RECHTS VORWÄRTS
define FWDL &H0110 'ANTRIEB LINKS VORWÄRTS
define ROTR &H0115 'RECHTS DREHEN
define ROTL &H0119 'LINKS DREHEN
define REV &H011D 'RÜCKWÄRTS
define FWD &H0121 'VORWÄRTS
define COMNAV_STATUS &H0125 'UPDATED ALLE FLAGS IM STATUS-REGISTER
define ACS_LO &H01E0 'ACS POWER LO
define ACS_HI &H01E8 '
define ACS_MAX &H01F0 '
define SEND_TLM &H013A 'SENDET TELEMETRIE (CH=HBYTE, DATEN=LBYTE)
define SEND_SYSSTAT &H0134 'SENDET TLM KANAL 0, SYSTEM STATUS
'(FLAGS für ACS, FWD/REV, ACS_LO/HI/MAX)
'---------- INIT---------------
' Basiserweiterung initialisieren:
LSTROBE=off:CC2POWER=on
' Subsysteme einschalten:
gosub SUBSYS_PWR_ON
' LC-Display initialisieren:
gosub LCD_INIT
'----------------------------------------------
beep 368,10,0:pause 50
'------------ ANTRIEB -------------------------
REV_L=on:REV_R=on:sys PLM_SLOW
'----------------------------------------------------------------------
' Hier ggf. weitere Initialisierungs-Befehle!!!

'----------------------------------------------------------------------
' PROGRAMM:
lcd_E = 0
lcd_RW = 0
lcd_RS = 0 : Daten = &H0E : pulse lcd_E
lcd_RS = 0 : Daten = &H01 : pulse lcd_E
lcd_RS = 1 : Daten = 65 : pulse lcd_E
lcd_RS = 1 : Daten = 66 : pulse lcd_E
'----------------------------------------------------------------------
' UNTERPROGRAMME:

'----------------------------------------------
'--------- ACS INTERRUPT SERVICE --------------
'----------------------------------------------
'#ACS_INTERRUPT 'Beispiel für eine Interruptroutine!
'sys COMNAV_STATUS
'if ACSL_F=on then gosub LED4ON else gosub LED4OFF
'if ACSR_F=on then gosub LED1ON else gosub LED1OFF
'pause 5:gosub LED1OFF:gosub LED4OFF:return interrupt
'---------------------------------------------
' ODER ... (ACHTUNG: Nur EINE Interrupt-Routine ist möglich!!!)
'---------------------------------------------
'-------- IR-COMM INTERRUPT SERVICE ----------
'---------------------------------------------
'#IRCOMM_INTERRUPT 'Beispiel für eine Interruptroutine!
'sys COMNAV_STATUS
'gosub GET_IRDATA
'gosub LED1ON:pause 5:gosub LED1OFF:return interrupt
'---------------------------------------------

'IIIIIIII Binärausgabe mit 8 LEDs der Basiserweiterung IIIIIIII
' Der Robby mit Basiserweiterung kann OHNE LC-Display keine Werte
' (z.B. seiner Sensoren) anzeigen. Diese Routine gibt VALUE mit
' den 8 LEDs der Basiserweiterung in Binärform (8 Bit) aus.
' Die Variable VALUE muss als BYTE definiert sein!
'#LBINOUT
'gosub LOFF: gosub L1FLASH: gosub L1FLASH
'gosub L1FLASH: gosub L1FLASH: gosub L1FLASH
'if (VALUE and &B1) <> 0 then gosub L1ON
'if (VALUE and &B10) <> 0 then gosub L2ON
'if (VALUE and &B100) <> 0 then gosub L3ON
'if (VALUE and &B1000) <> 0 then gosub L4ON
'if (VALUE and &B10000) <> 0 then gosub L5ON
'if (VALUE and &B100000) <> 0 then gosub L6ON
'if (VALUE and &B1000000) <> 0 then gosub L7ON
'if (VALUE and &B10000000) <> 0 then gosub L8ON
'pause 200: return
'#L1FLASH
'gosub L1ON: pause 5: gosub L1OFF: pause 5: return

'Binär-Dezimal-Tabelle (4-Bit):
' WERT: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
' L1-> 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
' L2-> 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
' L3-> 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
' L4-> 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
'
' Der Dezimal-WERT kann in der 1. Zeile abgelesen werden, wenn man
' die zutreffende LED-Kombination aussucht (1 -> an, 0 -> aus).
' Für jede leuchtende LED 5 bis 8 muss noch folgender Wert addiert
' werden: L5-> + 16
' L6-> + 32
' L7-> + 64
' L8-> +128
' Damit erhält man dann den ganzen 8-Bit-Dezimalwert (0..255).

'----------------------------------------------------------------------

'IIIIIIIIIII LED DRIVER IIIIIIIIIIIIIIIII
#LED1ON
LED1_F=on:goto EXTPORT_WRITE
#LED1OFF
LED1_F=off :goto EXTPORT_WRITE
#LED2ON
LED2_F=on:goto EXTPORT_WRITE
#LED2OFF
LED2_F=off:goto EXTPORT_WRITE
#LED3ON
LED3_F=on:goto EXTPORT_WRITE
#LED3OFF
LED3_F=off:goto EXTPORT_WRITE
#LED4ON
LED4_F=on:goto EXTPORT_WRITE
#LED4OFF
LED4_F=off:goto EXTPORT_WRITE
#LEDSOFF
EXTPORT=EXTPORT and &H0F:goto EXTPORT_WRITE
#LEDSON
EXTPORT=EXTPORT or &HF0
#EXTPORT_WRITE
sys SYSTEM:pulse STROBE:return

'--- LEDS AUF DER BASIS ERWEITERUNG ------
#L1ON
L1_F=on:goto LEDPORT_WRITE
#L1OFF
L1_F=off :goto LEDPORT_WRITE
#L2ON
L2_F=on:goto LEDPORT_WRITE
#L2OFF
L2_F=off :goto LEDPORT_WRITE
#L3ON
L3_F=on:goto LEDPORT_WRITE
#L3OFF
L3_F=off :goto LEDPORT_WRITE
#L4ON
L4_F=on:goto LEDPORT_WRITE
#L4OFF
L4_F=off :goto LEDPORT_WRITE
#L5ON
L5_F=on:goto LEDPORT_WRITE
#L5OFF
L5_F=off :goto LEDPORT_WRITE
#L6ON
L6_F=on:goto LEDPORT_WRITE
#L6OFF
L6_F=off :goto LEDPORT_WRITE
#L7ON
L7_F=on:goto LEDPORT_WRITE
#L7OFF
L7_F=off :goto LEDPORT_WRITE
#L8ON
L8_F=on:goto LEDPORT_WRITE
#L8OFF
L8_F=off :goto LEDPORT_WRITE
#LOFF
LEDPORT=0 :goto LEDPORT_WRITE
#LON
LEDPORT=&HFF
#LEDPORT_WRITE
sys LED_DRIVE:pulse LSTROBE:return

'----------------------------------------
'------------- LCD ROUTINES -------------
'----------------------------------------
#LCD_INIT
'alle ports 0
lcd_port = OFF

' 8-Bit-Modus aktivieren
lcd_param=&H38 : gosub LCD_WRITECMD

' mit 8-Bit-Command in 4-Bit-Modus umschalten
lcd_port=&B00000010
tog lcd_e
tog lcd_e

' ab jetzt 4-Bit-Modus
lcd_param = &H28 : gosub LCD_WRITECMD
lcd_param = &H0C : gosub LCD_WRITECMD

' Display loeschen
#LCD_CLS
lcd_param = &H02 : gosub LCD_WRITECMD
lcd_param = &H01 : gosub LCD_WRITECMD
return

' Zeilenwechsel
#LCD_GOTOLINE
if lcd_param = 1 then lcd_param = &H80
if lcd_param = 2 then lcd_param = &HC0
goto LCD_WRITECMD

' LCD-Kommando
#LCD_WRITECMD
lcd_buf = OFF
goto LCD_WRITE

' Zeichenausgabe
#LCD_WRITECHAR
lcd_buf = &B00100000

' Kommando oder Zeichen an Display senden
#LCD_WRITE
lcd_port = lcd_buf or (lcd_param shr 4) ' Hi-Nibble
tog lcd_e
tog lcd_e
lcd_port = lcd_buf or (lcd_param and &H0F) ' Lo-Nibble
tog lcd_e
tog lcd_e
return

'IIIIII SYSTEMROUTINEN COMM/NAV SYSTEM IIIII
#GET_IRDATA
SUBCMD=1:sys COMNAV:return
#SEND_IRDATA
SUBCMD=0:sys COMNAV:return
#GET_TLM
SUBCMD=1:sys COMNAV:LBYTE= LBYTE or (HBYTE shl 6)
HBYTE= HBYTE shr 2:return
#RC5
SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFC
HBYTE=00:SUBCMD=2:sys COMNAV:return
#RC5_INT
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE and &HFE)or 2
HBYTE=00:SUBCMD=2:sys COMNAV:return
#REC80
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H01)and &HFD
HBYTE=00:SUBCMD=2:sys COMNAV:return
#REC80_INT
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H03)
HBYTE=00:SUBCMD=2:sys COMNAV:return
#ADDRESSED_MODE_ON
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H10)
HBYTE=00:SUBCMD=2:sys COMNAV:return
#ADDRESSED_MODE_OFF
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE and &HEF)
HBYTE=00:SUBCMD=2:sys COMNAV:return
#SET_ADDRESS
SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H10)
HBYTE=00:SUBCMD=2:sys COMNAV
LBYTE=DEVICEADDRESS:SUBCMD=5:sys COMNAV:return
#GET_ADDRESSED_DATA
SUBCMD=1:sys COMNAV:HBYTE=HBYTE and &H7:return
#SEND_ADDRESSED_DATA
HBYTE=(HBYTE shl 3)or DEVICEADDRESS:SUBCMD=0:sys COMNAV:return
#WAIT_PING
SUBCMD=8:sys COMNAV:return

'IIIIII SYSTEMROUTINEN SYSTEM IIIIIIIIIIII
#NO_ACS_INT
SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFB
HBYTE=00:SUBCMD=2:sys COMNAV:return
#ACS_INT_200
SUBCMD=4:sys COMNAV:LBYTE= HBYTE or &H04
HBYTE=50:SUBCMD=2:sys COMNAV:return
#SUBSYS_PWR_ON
sdio=on:sclio=on:strobe=off:EXTPORT=(EXTPORT and &HFE)or 8
sys SYSTEM:return
#SUBSYS_PWR_OFF
EXTPORT=(EXTPORT and &HF7)or 1:sys SYSTEM
deact sdio:deact sclio:return


#CLR_DISTANCE
SUBCMD=3:sys COMNAV:return
#L_DISTANCE
SUBCMD=6:sys COMNAV:return
#R_DISTANCE
SUBCMD=7:sys COMNAV:return

'---------COM/NAV GERÄTEREIBER -------------
syscode "p5driv12.s19"


sollte bereits "AB" auf das LC-Display am Stecker LCD1 schreiben.

Dieses tut es aber nicht.

Stattdessen leuchtet die gelbe Kontrollleuchte an der Basiserweiterung, auf der BE werden LED 1 und 5 eingeschaltet gleichzeitig erlischt die Kontrollleuchte wieder, die grüne LED für den Co-Prozessor (IR;COM/NAV) blinkt kurz auf und die LEDs leuchten immernoch. Zusätzlich leuchten auf Robby noch die LEDs 1 und 4.

Kann mir jemand helfen?

P.S.: Das Huptprogramm also


lcd_E = 0
lcd_RW = 0
lcd_RS = 0 : Daten = &H0E : pulse lcd_E
lcd_RS = 0 : Daten = &H01 : pulse lcd_E
lcd_RS = 1 : Daten = 65 : pulse lcd_E
lcd_RS = 1 : Daten = 66 : pulse lcd_E


stammt aus dem PDF "LC-Display_am_Robby" von user jonas. "lcd_" habe ich selbst davorgesetzt, weil es ja so definiert ist.

Torrentula
19.10.2009, 10:14
Es sitzt an stecker 1 also links. Ich glaub im programm steht "...evtl. empfangene Daten werden am Display angezeigt."

schuldigung ich meine rechts #-o

Dirk
19.10.2009, 21:13
Dieses Programm ... sollte bereits "AB" auf das LC-Display am Stecker LCD1 schreiben. Dieses tut es aber nicht.
Das klappt auch so nicht.
Dieses Hauptprogramm schreibt "AB" in Zeile 1 des LCD:

gosub LCD_CLS 'LCD löschen
lcd_param = 1 : gosub lcd_gotoline 'Zeile 1 wählen
lcd_param = &H41 : gosub lcd_writechar 'A
lcd_param = &H42 : gosub lcd_writechar 'B
end
Gruß Dirk

Torrentula
20.10.2009, 06:54
Ah.. Ok danke dann versuch ichs damit und lass das PDF ruhen.

Gruß

Torrentula

P.S.: gibts hier irgendwo ne ASC2 Tabelle?

Torrentula
20.10.2009, 09:02
Das LCD wird doch mit dem roten Kabel richtung LEDs angeschlossen?

Wenn ja dann ist mein LCD im A****

Dirk
20.10.2009, 19:59
Das LCD wird doch mit dem roten Kabel richtung LEDs angeschlossen?
Ja genau.

Gruß Dirk