www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATTiny 84v defekt?


Autor: Höfling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich bastel hier gerade mit dem besagten Controller rum und habe 
die Vermutung, dass er Defekt ist.
Folgendes Programm läuft auf ihm.
.include "tn84def.inc" 
ldi r16, 0xFF
out DDRA, r16
out DDRB, r16
out PORTA, r16
out PORTB, r16

ende: rjmp ende

Ich schalte als einfach alle Ports als Ausgänge. Nun kann ich zwischen 
den Pins von Port B eine Spannng zu Vcc messen. Bei Port A nicht. Egal 
was ich mache, die Pins sind elektrisch einfach neutral.
Frage: Hab ich meinen Controller verbraten? Oder übersehe ich irgendwas?

Danke für eure Hilfe!
Höfling

Autor: Höfling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
push

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Ich schalte als einfach alle Ports als Ausgänge. Nun kann ich zwischen
>den Pins von Port B eine Spannng zu Vcc messen. Bei Port A nicht. Egal
>was ich mache, die Pins sind elektrisch einfach neutral.

Gegen VCC? Da solltest du im Idealfall auch keine Spannung messen.

Wie sieht es den aus, wenn du gegen GND misst?

MfG Spess

Autor: Höfling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch keine Spannung.

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Dann überprüfe erst mal, ob du das richtige Programm lädst. Welchen 
Pegel hat das Reset-Pin?

MfG Spess

Autor: Höfling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das programm hab ich jetzt schon mehrfach aufgespielt. Ich benutze den 
AVRISP mkII Programmer mit Avr Studi 4. Das klappt auch alles 
Problemlos, keine Fehlermeldungen!
Der Reset pin ist über einen 10k ohm widerstand an Vcc angeschlossen.

Autor: Schnösel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
datasheet: Section 10.3 “Alternate Port Functions” on page 57

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>datasheet: Section 10.3 “Alternate Port Functions” on page 57

Und welche benutzt er?

>Das programm hab ich jetzt schon mehrfach aufgespielt. Ich benutze den
>AVRISP mkII Programmer mit Avr Studi 4. Das klappt auch alles
>Problemlos, keine Fehlermeldungen!

Lies mal den Controller aus und poste das Hexfile.

MfG Spess

Autor: Höfling (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So, hier bitte :)

Autor: Höfling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab gerade nochmal ein bisschen gemessen. Wenn ich das richtig 
Verstehe, setzt eine 1 im PORTx Register den entsprechenden Pun auf Vcc, 
eine 0 auf GND. Also müsste ich,nach obigem Programm ja an einem 
intakten Port eine Spannung zwischen GND und dem Port messen, tu ich 
aber nicht! Nur zwischen dem port und Vcc, auch wenn ich das PORTB 
Register komplett auf null setze bleibts dabei.

ps. Das war jetzt komplett auf PORTB bezogen. PORTA geht überhaupt 
nicht.

Autor: Schnösel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab das HEX-file mal in meinen Simulator geladen und ausgeführt. Der 
einzige Port-Pin, der von '0' auf '1' geht, ist PortB Bit3 (Pin4). Ich 
habe die "AVR Simulator IDE" verwandt. Die anderen Pins des Port B 
bleiben alle auf '0'.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Hexfile und dein Code unterscheiden sich. Bitte kontrollieren

Code aus Beitrag "ATTiny 84v defekt?"
.include "tn84def.inc" 
ldi r16, 0xFF
out DDRA, r16
out DDRB, r16
out PORTA, r16
out PORTB, r16

ende: rjmp ende

Hexfile aus Beitrag "Re: ATTiny 84v defekt?"
+00000000:   EE0F        LDI       R16,0xEF       Load immediate
+00000001:   BB07        OUT       DDRB,R16       Out to I/O location
+00000002:   E202        LDI       R16,0x22       Load immediate
+00000003:   B907        OUT       ADMUX,R16      Out to I/O location
+00000004:   E805        LDI       R16,0x85       Load immediate
+00000005:   B906        OUT       ADCSRA,R16     Out to I/O location
+00000006:   9A36        SBI       ADCSRA,6       Set bit in I/O register
+00000007:   9936        SBIC      ADCSRA,6       Skip if bit in I/O register cleared
+00000008:   F7F1        BRNE      PC-0x01        Branch if not equal
+00000009:   B105        IN        R16,ADCH       In from I/O location
+0000000A:   3500        CPI       R16,0x50       Compare with immediate
+0000000B:   F018        BRCS      PC+0x04        Branch if carry set
+0000000C:   E000        LDI       R16,0x00       Load immediate
+0000000D:   BB08        OUT       PORTB,R16       Out to I/O location
+0000000E:   C002        RJMP      PC+0x0003      Relative jump
+0000000F:   E008        LDI       R16,0x08       Load immediate
+00000010:   BB08        OUT       PORTB,R16       Out to I/O location
+00000011:   CFF4        RJMP      PC-0x000B      Relative jump
+00000012:   FFFF        ???                      Data or unknown opcode

Autor: Schnösel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist mein Disassembling zum HEX-file:
-----------------------------------
AVR DISASSEMBLER LISTING
Address Opcode  Instruction
-----------------------------------
000000  EE0F      LDI R16,$EF
000001  BB07      OUT DDRB,R16
000002  E202      LDI R16,$22
000003  B907      OUT ADMUX,R16
000004  E805      LDI R16,$85
000005  B906      OUT ADCSRA,R16
000006  9A36    L4:  SBI ADCSRA,ADSC
000007  9936    L1:  SBIC ADCSRA,ADSC
000008  F7F1      BRNE L1
000009  B105      IN R16,ADCH
00000A  3500      CPI R16,$50
00000B  F018      BRCS L2
00000C  E000      LDI R16,$00
00000D  BB08      OUT PORTB,R16
00000E  C002      RJMP L3
00000F  E008    L2:  LDI R16,$08
000010  BB08      OUT PORTB,R16
000011  CFF4    L3:  RJMP L4

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Also nix kaputt. Stell das richtige Hexfile im Programmerdialog ein, 
dann klappt es auch mit den Ports.
Wenn es dich tröstet: Ist mir auch schon mal passiert.

MfG Spess

Autor: Höfling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, genau das wars. Der Input war irgendeine andere hex datein aber 
nicht das aktuelle Projekt...wie peinlich.

Spess53 schrieb:
> Wenn es dich tröstet: Ist mir auch schon mal passiert.

Ja, schon ein bisschen :D

Vielen Dank an alle für die Hilfe!!!

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>So, genau das wars. Der Input war irgendeine andere hex datein aber
>nicht das aktuelle Projekt...wie peinlich.

Peinlich sollte dir eigentlich sein, das du die Fragen nicht richtig 
liest:

Beitrag "Re: ATTiny 84v defekt?"

MfG Spess

Autor: Höfling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Och, richtig gelesen schon, nur falsch Verstanden. Was mir auch schon 
öfters passiert ist: Programm geändert, vergessen zu kompilieren, 
geflasht, gewundert warum sich nichts ändert.
Daran hab ich bei der Frage gedacht. So viel zu meiner Verteidigung ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.