AS5040 Drehwinkelsensor C- Routinen für ATMEGA

OP #2157485
Lesenswert?

Hallo Zusammen,
nachdem hier Beitrag "Hat schon jemand Erfahrung mit AS5030 bzw AS5040 ?"  niemand 
sinnvoll antworten wollte, will ich mal meine Routinen zum Auslesen des 
Drehwinkelsensors AS5040 hier reinstellen. Diese Routinen betreffen den 
10-bit Sensor AS5040 von Austria Microsystems.
Die Codegrösse ist so, dass man die Routinen auch mit ATMEGA8, ATTiny 
etc. einsetzen kann. Ich habe bewusst auf die Nutzung von 
Timern/Interrupts etc. verzichtet, damit man den Sensor quasi in alle 
bestehenden Programme "integrieren" kann. Pinbelegung etc. steht im 
Header-File. getestet hab ich mit einem ATMEGA644.
Vielleicht kanns jemand brauchen.
Die UART Routinen sind von Peter Fleury und dienen nur zur Testausgabe
Viel Spass.

Wolfram

ADD: In die Prog Leitung sollte man einen 1.5K Widerstand reinsetzen.


Winkelgeber, Winkelsensor, Drehencoder, Winkelencoder
Angehängte Dateien:
Gast #2706143
Lesenswert?

Hallo Wolfram,

ich habe bei meiner Diplomarbeit gerade mit dem AS5040 zu tun und bin 
auf dein Quellcode gestossen. Dabei hätte ich eine Frage und wäre sehr 
froh wenn du mir helfen könntest...!!

es geht in der Datei "as5040.c" in der Funktion "as5040_ssi(void)" um 
folgenden Teil:

  if ( AS5040_PORT & (1<<AS5040_PIN_DI) ) // read port bit
     {
      data |=0x01; // set new bit in 16 bit variable
     }


Diesen Teil verstehe ich leider nicht ganz... =(
Was bewirkt in diesem Fall die if-Abfrage??
Was ist bei dir "AS5040_PORT"??

In der dazugehörigen Header-Datei hast du geschrieben:

   #define AS5040_PORT    PINA
   #define AS5040_PIN_DI  PINA1

Was bedeutet das?


Ich wäre über deine Hilfe sehr dankbar.

Grüße
Daniel

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren