mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik How to check if a microcontroller is broken?


Autor: peekel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi all,

I know it's a German forum so sorry for the English post. I'm in the 
learning period of German I can read it roughly but can't write.

Now I'm using atmega128 to do a project. Before the uC worked totally 
okay, however from this week it just stops working. I dont know what 
went wrong so I  used a simple method to check it, by which I attached a 
LED to the I/O port.

My circuit is truely simple, connect the PORTB.1 with a 470ohm resistor 
and the longer end of the LED, the shorter end of the LED was connected 
to the GND. I use 5V Vcc and JTAGICE.

my program is like this:

.INCLUDE "m128def.inc"


.CSEG
.ORG 0x00
  RJMP main

main:

  ldi r16, low(ramend)
  out spl, r16
  ldi r16, high(ramend)
  out sph, r16

repeat:

        ldi r16,0x01
  out ddrb,r16

  ldi r16,0x01
  out portb,r16

    jmp repeat



After all the uC didnt work any more, I was wondering if the 
microcontroller is broken. So I checked the voltage between Vcc and GND, 
and it is okay. So now I'm in no where. Could anyone tell me how to 
check if the microcontroller is broken? Dank!

Autor: peekel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anyone with any suggestion is great appreciated!

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi peekel,

> connect the PORTB.1

-> Port B.1

>  ldi r16,0x01
>  out ddrb,r16

>  ldi r16,0x01
>  out portb,r16

-> This is Port B.0

Otto

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Another good method is to put one PORT into output mode (using the DDR), 
and then give it some pattern like 0b10101010. Then just measure with a 
voltmeter, if you can see this pattern on the used port.

Autor: peekel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aha, hi, otto, thanks for the quick reply and pointing out the mistake. 
It is a writen mistake, I did connect it to the PORTB.0.

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
then try "Bernhard"s method - maybe only one pin is broken....

Otto

Autor: peekel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thank Bernhard for the hint, I just did what u suggested, set the DDRB 
as 0xff, and PORTB as 0b10101010, and measure the voltage between each 
pin and GND, but I didnt see any pattern coming out, all the voltages 
stay constant which arounds zero.

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
did you change any fuse ?

Otto

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: peekel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi, otto, the fuse is staying as it was before, I didnt change it. I 
think it should be no problem. Now I think I really have some problem 
with either the microcontroller or the JTAG, but dont know where to 
start to fix it.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert

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.