Hi Dirk,
Das der Code nicht das wahre ist ist klar, das sollte auch nur erstmal nen test sein ob ich den Sensor ansprechen kann. Ich hab mir das mit dem "Mclk" Takt schon gedacht das der vieleicht nicht richtig ist. Aber auf der Platine die ich von ELV habe, ist ein Atmega8L drauf der den Sensor anspricht und der erzeugt auch denn Takt "Mclk" aber scheinbar nicht über Timer1, da dann der "Mclk" Pin am Sensor mit OC1A oder OC1B verbunden sein müsste da nur diese Pins das signal abgeben können.
Um dem ganzen aber aus dem Weg zu gehen habe ich den Takt "Mclk" von dem Atmega8L einfach abgegriffen und in meinen Sensor geschickt, aber es ändert sich nix.
Ich hab mal den Code geändert und nur die Reset Funktion erstellt, da müsste am Ende der Sensor auf Hi gehn und nicht mehr Low Pegel führen. Aber auch das funktioniert nicht![]()
Der Link für die Platine und die Beschaltung von ELV ist oben, da siehst wie die das gemacht haben aber halt leider ohne CodeCode:'---------------------------------------------------------- $regfile = "m8def.dat" 'ATmega8-Deklarationen $crystal = 8000000 '3686400 'Quarz: 3,6864 MHz $baud = 9600 'Baudrate zum PC: 38400 Baud ' '=== Variablen ' MS5534 Definition Ddrb.2 = 1 'ausgang Ddrc.0 = 0 'eingang Portc.0 = 0 'pullup widerstand aus Ddrb.4 = 1 'ausgang _ms5534_mclk Alias Portb.1 ' => MS5534 Pin 5 _ms5534_din Alias Portb.2 ' => MS5534 Pin 4 _ms5534_dout Alias Pinc.0 ' => MS5534 Pin 3 _ms5534_sclk Alias Portb.4 ' => MS5534 Pin 2 Dim _ms5534_d1 As Word Dim _ms5534_d2 As Word Const _ms5534_delay = 3 'Taktsignal '=========================== Ddrb.1 = 1 'Pin PB1/OC1A ist Ausgang ' Tccr1a = &B01000000 'Pin OC1A/PB1 togglen, kein PWM Tccr1b = &B00001001 'Timer-Reset bei Compare, Clock/1 Compare1a = 122 'Vergleichswert setzen (OCR1AH+OCR1AL) Do Print "Reset "; Wait 1 '=== Reset Waitus 100 _ms5534_sclk = 0 _ms5534_d1 = &B1010101010101010 _ms5534_d2 = &B0000000000000000 Shiftout _ms5534_din , _ms5534_sclk , _ms5534_d1 , 0 , 16 , _ms5534_delay Shiftout _ms5534_din , _ms5534_sclk , _ms5534_d2 , 0 , 5 , _ms5534_delay If Pinb.3 = 1 Then Print "Hi "; If Pinb.3 = 0 Then Print "Low "; Loop End.
Gruß Robotik







Zitieren

Lesezeichen