Hi Leute,
folgende Situation:
aus einer Funktionierenden Schaltung mit einem Mega64 habe ich eine, ebenfalls funktionierende Schaltung, mit einem xMega32A4 gemacht und 2 Platinen fertigen lassen.
Klappt alles genau so wie ich es mir vorgestellt hatte, außer der Abfrage meiner 5x DS18B20, das tut nicht.
Der Code ist der selbe der auf dem Mega64 läuft, die Port Pins sind geändert, der µC sendet auch Befehle und der DS sendet irgendwas zurück.
der Sensor wird ab und in die alte Platine eingesteckt und bringt Problemlos Daten, zurück gesteckt, wieder nur Müll.
Ich habe ein Timingproblem, das weiß ich, daran liegts wohl nicht, da ich $crystal = 32000000 auch schon bis $crystal = 33000000 erhöht hatte, dann stimmen die Zeiten, funktioniert trotzdem nicht.
Die Pull Up Widerstände waren ursprünglich 5.1K dann 3.3K dann 2.2K, ändert leider nichts am Verhalten.
Die Sensoren liegen einzeln am Pin, deshalb brauch ich keinen ROM Code lesen.
Da alles andere tut, die Platinen teuer waren und ich die zusätzlichen Timer/PWM Ausgänge vom xMega brauche, sollte das schon mit dem xMega gehen, wäre toll.
Ich hoffe, Ihr könnt mir Tipps geben, an die ich vielleicht noch nicht gedacht habe.
Danke
Stephan
folgende Situation:
aus einer Funktionierenden Schaltung mit einem Mega64 habe ich eine, ebenfalls funktionierende Schaltung, mit einem xMega32A4 gemacht und 2 Platinen fertigen lassen.
Klappt alles genau so wie ich es mir vorgestellt hatte, außer der Abfrage meiner 5x DS18B20, das tut nicht.
Der Code ist der selbe der auf dem Mega64 läuft, die Port Pins sind geändert, der µC sendet auch Befehle und der DS sendet irgendwas zurück.
der Sensor wird ab und in die alte Platine eingesteckt und bringt Problemlos Daten, zurück gesteckt, wieder nur Müll.
Ich habe ein Timingproblem, das weiß ich, daran liegts wohl nicht, da ich $crystal = 32000000 auch schon bis $crystal = 33000000 erhöht hatte, dann stimmen die Zeiten, funktioniert trotzdem nicht.
Die Pull Up Widerstände waren ursprünglich 5.1K dann 3.3K dann 2.2K, ändert leider nichts am Verhalten.
Die Sensoren liegen einzeln am Pin, deshalb brauch ich keinen ROM Code lesen.
Code:
SUB SENSORSTART
1wreset PinE , 0
1wwrite &HCC , 1 , PinE , 0
1wwrite &H44 , 1 , PinE , 0
1wreset PinE , 1
1wwrite &HCC , 1 , PinE , 1
1wwrite &H44 , 1 , PinE , 1
' DS 1
1wreset PinD , 7
1wwrite &HCC , 1 , PinD , 7
1wwrite &H44 , 1 , PinD , 7
' DS 2
1wreset Pind , 6
1wwrite &HCC , 1 , Pind , 6
1wwrite &H44 , 1 , Pind , 6
' DS 3
1wreset Pind , 5
1wwrite &HCC , 1 , Pind , 5
1wwrite &H44 , 1 , Pind , 5
TCd0_cca = 0
End Sub
'##################################################
'##################################################
SUB SENSORREAD
For n = 1 to 5
Select Case n
Case 1: ' AIR
1wreset PinE , 0
1wwrite &HCC , 1 , PinE , 0
1wwrite &HBE , 1 , PinE , 0
DigiData(1) = 1wread(9 , PinE , 0 )
1wreset PinE , 0
Call DSDATACALC
Case 2: ' WATER
1wreset PinE , 1
1wwrite &HCC , 1 , PinE , 1
1wwrite &HBE , 1 , PinE , 1
DigiData(1) = 1wread(9 , PinE , 1 )
1wreset PinE , 1
Call DSDATACALC
Case 3: ' DS 1
1wreset Pind , 7
1wwrite &HCC , 1 , Pind , 7
1wwrite &HBE , 1 , Pind , 7
DigiData(1) = 1wread(9 , Pind , 7 )
1wreset Pind , 7
Call DSDATACALC
Case 4: ' DS 2
1wreset Pind , 6
1wwrite &HCC , 1 , Pind , 6
1wwrite &HBE , 1 , Pind , 6
DigiData(1) = 1wread(9 , Pind , 6 )
1wreset Pind , 6
Call DSDATACALC
Case 5: ' DS 3
1wreset Pind , 5
1wwrite &HCC , 1 , Pind , 5
1wwrite &HBE , 1 , Pind , 5
DigiData(1) = 1wread(9 , Pind , 5 )
1wreset Pind , 5
Call DSDATACALC
End Select
Next
End Sub
Da alles andere tut, die Platinen teuer waren und ich die zusätzlichen Timer/PWM Ausgänge vom xMega brauche, sollte das schon mit dem xMega gehen, wäre toll.
Ich hoffe, Ihr könnt mir Tipps geben, an die ich vielleicht noch nicht gedacht habe.
Danke
Stephan