INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Attiny 85 auslesen
02.02.2021, 18:10
Beitrag #9
RE: Attiny 85 auslesen
Ich nutze für solche Dateivergleiche Total Commander.
Dort werden bei Unterschieden betroffene Zeilen, aber auch die betroffenen Bytes in der Zeile, in roter Schrift dargestellt.
   

Gruß Arne
Mit zunehmender Anzahl qualifizierter Informationen bei einer Fragestellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.02.2021, 21:04
Beitrag #10
RE: Attiny 85 auslesen
Da ich des öfteren mit dem Total Commander arbeite habe ich diesen benutzt. Die Dateivergleichen Funktion kannte ich
bei ihm noch gar nicht.

Die erste Variable habe ich heraus bekommen.
Bei der zweiten habe ich noch kein System endeckt.

Vielleicht endeckt ja einer von euch das System dahinter.
Es geht um die Variable "t". Der Name des files entspricht dem Wert der Variable.

t1.hex entspicht t=1
t2.hex entspricht t=2

Wenn ich t=0 teste kommt ein ganz anderes file heraus.

   

Harry

Wenn etwas nicht funktioniert -> Kondensator hinzufügenSmile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.02.2021, 21:08
Beitrag #11
RE: Attiny 85 auslesen
0 und 1 sind auch keine Werte, die man so leicht findet. Nimm zum Testen doch einfach mal 0x55 bei byte oder 0x5555 bei int. Die findet man leichter.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.02.2021, 21:32
Beitrag #12
RE: Attiny 85 auslesen
(02.02.2021 21:08)Tommy56 schrieb:  0 und 1 sind auch keine Werte, die man so leicht findet. Nimm zum Testen doch einfach mal 0x55 bei byte oder 0x5555 bei int. Die findet man leichter.

Es ist einen const int Variable.
Ich habe jetzt 0x5555 mit 0x6666 und 0x3344 mit 0x5566 verglichenHuh

   

Harry

Wenn etwas nicht funktioniert -> Kondensator hinzufügenSmile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.02.2021, 12:31 (Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2021 14:46 von ardu_arne.)
Beitrag #13
RE: Attiny 85 auslesen
Ich kann in den Screenshots leider auch nichts erkennen was irgendwie einen Bezug auf die Werte der verwendeten Variablen erkennen lässt.
Vielleicht versuchst du es mal mit const unsigned int oder const uint16_t.

Nachtrag:
Ab 2791: steht z.B. unten rechts (0x6666) 43 45 43 34 43 45 43 45
Da fällt die 34 irgendwie aus der Rolle (bei allen anderen Werten betrifft es auch immer diese Stelle.
Möglicherweise Steckt in der 34 das Vorzeichenbit?

Noch ein Nachtrag:
Es gibt in der IDE unter "Sketch" --> "Kompilierte Binärdatei exportieren" die Möglichkeit HEX-Files zu schreiben. Es werden dabei zwei HEX-Files erzeugt. Einmal mit und einmal ohne Bootloader. Vielleicht erspart der Weg den Tiny zu brennen und wieder auszulesen.
Mit der IDE 1.8.13 funktionierte das bei mir aber nicht für alle Controllertypen. Aber mit der 1.8.12 geht es immer.

Gruß Arne
Mit zunehmender Anzahl qualifizierter Informationen bei einer Fragestellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.02.2021, 22:46 (Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2021 22:56 von ardu_arne.)
Beitrag #14
RE: Attiny 85 auslesen
Die Sache hat mir keine Ruhe gelassen. Angel
Deshalb habe ich ein kleines Testprogramm (T_01) für einen Tiny85 geschrieben.
Code:
const uint16_t var1 = 0x5555;
uint16_t var2;

void setup() {
  var2 = var1;
}

void loop() {
  bitClear(var2, 5);
}
Im Vergleichsprogramm (T_02) ist const uint16_t var1 auf 0xFFFF geändert.

Über "Kompilierte Binärdatei exportieren" wird ein Listingfile (.lst) erzeugt.
Damit kann man dem Compiler bei der Arbeit zusehen. Big Grin

   
Die einzigen Unterschiede zwischen T_01 und T_02 stehen in den Zeilen 296, 301 und 302.
Interessant ist lediglich der erzeugte Maschinencode in den Zeilen 301 und 302.
Für T_01 (0x5555) steht dort "85 e5 95 e5"
Für T_02 (0xFFFF) steht dort "8f ef 9f ef"
Genau diese Bytefolgen findet man auch im jeweiligen Hexfile.
Im Hexfile, bzw. dem was du aus deinem Tiny ausliest, ist also nichts mehr vom Wert deiner ursprünglichen Variablen zu sehen. Sad

Vielleicht hilft dir ein AVR Disassembler bei diesem Wissen weiter.

Gruß Arne
Mit zunehmender Anzahl qualifizierter Informationen bei einer Fragestellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.02.2021, 23:37
Beitrag #15
RE: Attiny 85 auslesen
(03.02.2021 22:46)ardu_arne schrieb:  ....
Die einzigen Unterschiede zwischen T_01 und T_02 stehen in den Zeilen 296, 301 und 302.
Interessant ist lediglich der erzeugte Maschinencode in den Zeilen 301 und 302.
Für T_01 (0x5555) steht dort "85 e5 95 e5"
Für T_02 (0xFFFF) steht dort "8f ef 9f ef"
Genau diese Bytefolgen findet man auch im jeweiligen Hexfile.
Im Hexfile, bzw. dem was du aus deinem Tiny ausliest, ist also nichts mehr vom Wert deiner ursprünglichen Variablen zu sehen. Sad

Vielleicht hilft dir ein AVR Disassembler bei diesem Wissen weiter.

Das man die Konstanten im Hexcode nicht so leicht findet liegt daran das der 8 Bit Wert der Konstanten im Opcode auf 2 Bytes verteilt wird. Ist hier nachzulesen auf Seite 90.
lgbk


An alle Neuankömmlinge hier, wenn ihr Code(Sketch) hier posten wollte dann liest euch bitte diese Anleitung durch.

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.02.2021, 09:40
Beitrag #16
RE: Attiny 85 auslesen
(03.02.2021 12:31)ardu_arne schrieb:  Nachtrag:
Ab 2791: steht z.B. unten rechts (0x6666) 43 45 43 34 43 45 43 45
Da fällt die 34 irgendwie aus der Rolle (bei allen anderen Werten betrifft es auch immer diese Stelle.
Möglicherweise Steckt in der 34 das Vorzeichenbit?

Bei "5555", "6666" und "5566" hätte ich vermute, dass die beiden vorderen Stellen in 2791+2793 und die beiden hinteren stellen in 2795+2797 liegen. t"3344" passt aber dabei gar nicht ins Bild. Über das Vorzeichen hatte ich mir auch schon Gedanken gemacht und mir überlegt ob er womöglich von Null aus geht und positiv und negativ abwächselnd hoch zählt da der Unterschied 2 und nicht 1 beträgt. 0, 1, -1, 2, -2 ... "3344" hat aber jegliche Idee nach einem System zu suchen verworfen.

Bei deiner 0x5555 und 0xFFFF sind wenigstens die Zahlen noch zu Identifizieren und könnten so leicht manupuliert werden. Bei meinem ausgelesenen File ist davon gar nichts mehr zu erkennen.

(03.02.2021 12:31)ardu_arne schrieb:  Noch ein Nachtrag:
Es gibt in der IDE unter "Sketch" --> "Kompilierte Binärdatei exportieren" die Möglichkeit HEX-Files zu schreiben. Es werden dabei zwei HEX-Files erzeugt. Einmal mit und einmal ohne Bootloader. Vielleicht erspart der Weg den Tiny zu brennen und wieder auszulesen.

Das brennen und auslesen ist kein Aufwand und geht sehr schnell. Viel interessanter ist aber die .lst Datei. Da sieht man den Maschinencode und die Register. Leider ist meinen Zeit mit SoftICE und co schon 30 Jahre her, da fang ich nicht noch einmal neu an. Ich werde meinen Sensoren neu einmessen. Hat aber mal wieder Spaß gemacht und vielen Dank füs ansehen meiner Files.

Harry

Wenn etwas nicht funktioniert -> Kondensator hinzufügenSmile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Warum sind mehrere Attiny´s nicht Synchron ? Chris_Arduino 6 2.317 02.02.2021 11:46
Letzter Beitrag: Harry
  24V Sensor am Arduino auslesen süffi1234 8 2.686 20.11.2020 07:14
Letzter Beitrag: süffi1234
  Daten von der seriellen Schnittstelle auslesen student1704 9 50.264 28.02.2020 17:20
Letzter Beitrag: hotsystems
  ATtiny 12V-1PU ist nicht gelistet malsehen 12 3.826 28.12.2019 22:02
Letzter Beitrag: hotsystems
  Auslesen mehrerer Tags mahoni 14 5.098 12.09.2019 12:05
Letzter Beitrag: Chopp
  Treiber für Attiny Programmer Board Harry 11 6.668 29.12.2018 09:11
Letzter Beitrag: hotsystems
  GPS auslesen Jochen82 19 43.754 12.02.2017 15:25
Letzter Beitrag: Misel
  Reifendruck-Sensoren Auslesen? Binatone 18 12.345 03.12.2016 12:00
Letzter Beitrag: Binatone
  PIR Sensor auslesen / einsetzen go4sea 6 4.249 28.04.2016 17:11
Letzter Beitrag: hotsystems
  Bosch MAP Sensor auslesen Roman 4 4.663 12.02.2016 23:02
Letzter Beitrag: Roman

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste