PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittmotor mit I²C per C-Conrol in Assembler ansteuern.



JensB
13.09.2005, 22:01
Hallo,
für mein Rasenmäherprojekt, will ich einen Minebea Motor PM55L - 048 per Leistungstreiber ULN2803 und I²C Portexpander PCF8574AP ansteuern. Aus Basic heraus klappt das ganz passabel. Nun ist mir die Drehzahl aber zu gering (0,125 / sek). Deshalb beabsichtige ich die Assemblerroutinen für den Bus zu nutzen. Habe mich auch schon ein wenig eingelesen, aber würde das hier erstmal vorstellen wollen um "SAFE" zu sein.
Zur Hardware:
C-Control I mit Applicationboard

d.h es dürfte auf den Assembler bezogen "Port B" mit der Adresse $01 sein, den ich für SDA und SCL benutzen muß. Das zum Port zugehörige Datenrichtungsregister müßte also $05 sein.

Für SDA würde ich gerne den Port7 des APB benutzen, für SCL Port 8.
Ich habe mal die zu treffenden Definitionen für den Assembler niedergeschrieben.

PORT .EQU $01 ;PortB
DIR .EQU $05 ;PortBdir
SDA .EQU 6 ;Port 7
SCL .EQU 7 ;Port 8

Die eigentlichen Routinen würde ich gerne von Burkhard Kainka übernehmen. (MSR mit dem C-Control Basic System)

Damit müßten doch alle relevanten Änderungen am Assembler Code erledigt sein, oder?

Die Datenübernahme aus Assembler nach Basic und anders herum sind mir klar.
Sind die Definitionen, die ich gemacht habe im Bezug auf die Hardware richtig? ( SDA .EQU 6 ;Port 7 SCL .EQU 7 ;Port 8 )???


Gruß Jens

Tappi
14.09.2005, 16:52
Ist das die alte C-Control oder die neue M Unit 2.0?

JensB
14.09.2005, 17:13
C-Control I mit Applicationboard

Gruß jens

JensB
15.09.2005, 01:34
OK, habs ausprobiert, die Adressen stimmen, es funktioniert tatsächlich viel schneller als aus Basic heraus.

Gruß Jens