Hallo Leute, nd
ich experimentiere seit kurzem mit dem Pi
Ich möchte an eine Motorsteuerung (mehrere Motoren) welche über einen µC betrieben wird entsprechende Signal senden.
Das mache ich mit I²C. Dabei ist der PI der Master.
1 Buffer übergibt welche Motor und welche Drehrichtung. z.B. 0x01 ist Motor 1 Vorwärts
2 Register für die Übergabe der Schrittzahl
2 Register geben von µC die Tatsächlich gefahren Schrittzahl zurück (zur Kontrolle zwecks auslaufen des Motors)
Nun habe ich angefangen die Werte mit
i2cset -y 1 ....
zu übergeben und mit
i2cget -y 1 [Buffer]
zu lesen.
z.B.
Wenn ich einen Buffer Hexadezimal 0xbb übergebe
Ihn danach wieder Abfrage bekomme ich 0x3b zurück
b ist 1011
3 ist 0011
ebenso ist es mit a, c usw
Was ich glaube ist das
das erste Bit nicht mit Übergeben wird!
Ich wies aber nicht warum.
[font="Arial"]Ähnlich ist es mit der Schrittrückgabe [/font]
z.b.
ich sende als Schrittweite für den Motor 128 Schritte was Hexadezimal 0x80 ist
Nun Müsste ich bei dem einen Buffer 0x00 zurück bekommen und bei dem anderen Buffer 0x80
Jedoch bekomme ich 0x01 bei dem Buffer der der eigentlich 0x00 haben müsste
und 0x00 bei dem Buffer der 0x80 zurück.
Das Bedeute Er zählt bloss bis 0x7f --> 0111 1111
und dann ließt er den andern Buffer 0x01
Mh ich habe keine Ahnung woran das liegt.