Forum: Mikrocontroller und Digitale Elektronik AVR reagiert nicht


von Leon W. (leonw_04)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe letzten ein Programm auf meinen Atmega324PA geladen und wollte 
dann ein verbessertes Programm hochladen wobei mir dann angezeigt wurde 
das der AVR nicht antwortet. Daraufhin hab ich versucht die Fuses zu 
lesen aber er antwortet nicht.
Die Verkabbelung hab ich schon überprüft und auch ein 10 MHz Oscillator 
angeschlossen aber er antwortet nicht

Die Fuses die ich als letztes eingestellt hatte
Fuses L:0xEE H:0xD9 E:FD

Hat jemand eine Idee voran es liegen könnte?

von Christian S. (roehrenvorheizer)


Lesenswert?

Hallo,

vielleicht ist er Opfer einer elektrostatischen Entladung geworden.

MfG

von Leon W. (leonw_04)


Lesenswert?

Das könnte passiert sein aber ich denke das man das nicht überprüfen 
kann oder?

von Karl M. (Gast)


Lesenswert?

Wie hoch ist dein ISP Takt des Atmega324PA?

von Karl M. (Gast)


Lesenswert?

Bitte stelle auch gute Bilder vom gesamten Aufbau + ISP-Prog. ein.

von Stefan F. (Gast)


Lesenswert?

Konntest durch Tausch feststellen, ob der Defekt beim µC oder beim 
programmieradapter liegt? Eventuell ist auch ganz simpel dein Flackabel 
kaputt.

Du könntest LED's (oder einen Logic Analysator) an die Signal-Leitungen 
anschließen, um zu sehen, weche Seite sich tot stellt.
1
            1kΩ     LED
2
 /Reset o---[===]---|<|---o VCC
3
4
 MISO, MOSI und SCK: o---[===]---|>|---| GND

von Leon W. (leonw_04)


Lesenswert?

Also ich hab den Atmega324PA durch ein Atmega1284P getauscht beim ersten 
hochladen des Programms hat es funktioniert und das Programm auch aber 
beim zweiten hochladen des Programms bekam ich ein Verifizierungsfehler 
an der Adresse 0x00 sollte 0x00 stehen, steht aber 0xCA, danach 
funktionierte er auch nicht mehr.

Als Takt benutze ich einen 16MHz Quarz.
Den ISP- Takt hab ich schon verändert zu 500hz, 4 khz , 32 khz, 1,5 MHz

Das mit den LED's werde ich jetzt ausprobieren

von Leon W. (leonw_04)


Lesenswert?

Also die Led's flackern alle bei 500hz ISP-Takt. Bei der RESET Leitung 
ist die Led dunkler bei den anderen sind die gleich hell.

von Stefan F. (Gast)


Lesenswert?

Es kommt gelegentlich vor, dass ein fehlerhaftes programm den µC so sehr 
zum Blockieren bringt, dass die ISP Schnitsttelle ausfällt. Dies kannst 
du verhindern, indem du den Rest-Pin fest mit GND verbindest und erst 
dann die Stromversorgung einschaltest.

Hast du eventuell den Abblock-Kondensator am Mikrocontroller vergessen?

> Also die Led's flackern alle bei 500hz ISP-Takt.

Dann kommunizieren sie miteinander. Spreche den mal mit "avrdude -v -v" 
an und poste die ganze Ausgabe.

> Bei der RESET Leitung ist die Led dunkler

Das ist komisch. Wird sie heller, wenn du Reset fest mit GND verbindest?

von Leon W. (leonw_04)


Lesenswert?

Natürlich hab ich einen Abblock-Kondensator.

Aber das darüber hab ich nicht verstanden:

Muss ich die Reset Leitung dann wieder von GND trennen nachdem ich die 
Versorgungsspannung wieder angeschlossen habe oder an GND dran lassen?

von Leon W. (leonw_04)


Lesenswert?

Wenn ich RESET dauerhaft mit GND verbinde dann bleibt die LED hell

von Stefan F. (Gast)


Lesenswert?

Leon W. schrieb:
> Muss ich die Reset Leitung dann wieder von GND trennen nachdem ich die
> Versorgungsspannung wieder angeschlossen habe oder an GND dran lassen?

Die ganze Zeit dran lassen, denn so verhinderst du, dass das eventuell 
störende Programm startet. Die ISP Schnittstelle ist aktiv, solange 
Reset auf LOW steht.

Nach dem Flashen musst du Reset natürlich wieder aufh HIGH gehen lassen, 
damit dein Programm starten kann.

Leon W. schrieb:
> Wenn ich RESET dauerhaft mit GND verbinde dann bleibt die LED hell

Vielleicht wird sie von deinem Programmieradapter nicht weit genug 
herunter gezogen. Das würde man auf einem Oszilloskop schön sehen. Hängt 
da noch etwas anderes dran? Eventuell ein zu niederohmiger Pull-Up 
Widerstand?

von Leon W. (leonw_04)


Lesenswert?

Nein an der RESET Leitung hängt nur ein Taster und halt der Pull up 
Wiederstand vom AVR

Aber der AVR antwortet immer noch nicht

von S. Landolt (Gast)


Lesenswert?

Also mich irritiert etwas, dass der uC mit 16 MHz betrieben wird, der 
BOD aber nur auf 2.7 V steht. Mit welcher Spannung läuft er denn, und 
wurde diese direkt am uC nachgemessen?

von Leon W. (leonw_04)


Lesenswert?

Direkt am uC sind 5.4V

von S. Landolt (Gast)


Lesenswert?

Eine etwas ungewöhnliche Spannung - woher kommt sie, und ist sie stabil?

von my2ct (Gast)


Lesenswert?

Leon W. schrieb:
> Nein an der RESET Leitung hängt nur ein Taster und halt der Pull up
> Wiederstand vom AVR
>
> Aber der AVR antwortet immer noch nicht

Auf einen Wiederstand würde ich als µC auch allergisch reagieren.

Das ist doch kein Steh-auf-Männchen

von Leon W. (leonw_04)


Lesenswert?

Die Spannung kommt von einem 5v 10a Netzteil.
Sie ist durch 2x 4300uF Elko's und 2x 22nF und 1x 100nF Kondensator 
stabilisiert.

von Leon W. (leonw_04)


Lesenswert?

my2ct schrieb:
> Leon W. schrieb:
>> Nein an der RESET Leitung hängt nur ein Taster und halt der Pull up
>> Wiederstand vom AVR
>>
>> Aber der AVR antwortet immer noch nicht
>
> Auf einen Wiederstand würde ich als µC auch allergisch reagieren.
>
> Das ist doch kein Steh-auf-Männchen

Ich meine den integrierten Pull up im AVR

von Kritiker (Gast)


Lesenswert?

Die Dialoge, die zwischen dem TO und den verschiedenen "Beratern" 
laufen, hätten Becket zu einem neue Theaterstück inspiriert.

von Leon W. (leonw_04)


Lesenswert?

Das ist das was avrdude mir ausgibt:
1
avrdude -pm1284p -cusbasp -v -v -B2000
2
3
avrdude: Version 6.3, compiled on Feb 17 2016 at 09:25:53
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
         Copyright (c) 2007-2014 Joerg Wunsch
6
7
         System wide configuration file is "C:\WinAVR-20100110\bin\avrdude.conf"
8
9
         Using Port                    : usb
10
         Using Programmer              : usbasp
11
         Setting bit clk period        : 2000.0
12
avrdude: seen device from vendor ->www.fischl.de<-
13
avrdude: seen product ->USBasp<-
14
         AVR Part                      : ATmega1284P
15
         Chip Erase delay              : 55000 us
16
         PAGEL                         : PD7
17
         BS2                           : PA0
18
         RESET disposition             : dedicated
19
         RETRY pulse                   : SCK
20
         serial program mode           : yes
21
         parallel program mode         : yes
22
         Timeout                       : 200
23
         StabDelay                     : 100
24
         CmdexeDelay                   : 25
25
         SyncLoops                     : 32
26
         ByteDelay                     : 0
27
         PollIndex                     : 3
28
         PollValue                     : 0x53
29
         Memory Detail                 :
30
31
                                  Block Poll               Page                       Polled
32
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
33
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
34
           eeprom        65    10   128    0 no       4096    8      0  9000  9000 0xff 0xff
35
           flash         65    10   256    0 yes    131072  256    512  4500  4500 0xff 0xff
36
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
37
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
38
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
39
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
40
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
41
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
42
43
         Programmer Type : usbasp
44
         Description     : USBasp, http://www.fischl.de/usbasp/
45
46
avrdude: try to set SCK period to 0.002 s (= 499 Hz)
47
avrdude: set SCK frequency to 500 Hz
48
avrdude: error: program enable: target doesn't answer. 1
49
avrdude: initialization failed, rc=-1
50
         Double check connections and try again, or use -F to override
51
         this check.
52
53
54
avrdude done.  Thank you.

von Christian S. (roehrenvorheizer)


Lesenswert?

Und wie wollen wir ein ESD-Ereignis sicher ausschließen?


MfG

von Leon W. (leonw_04)


Lesenswert?

Mittlerweile sind ja 2 uC kaputt/unansprechbar ohne das ich sie 
angefasst habe, weswegen ich davon ausgehe das es nicht durch ein 
ESD-Ereignis passiert ist

von Uwe (Gast)


Lesenswert?

Leon W. schrieb:
> Die Spannung kommt von einem 5v 10a Netzteil.

Es könnte möglich sein, dass dein Netzteil beim Einschalten für kurze 
Zeit deutlich mehr als 5V abgibt und erst danach auf die Nominalspannung 
regelt.

von S. Landolt (Gast)


Lesenswert?

Ich sehe dieses schwere 10 A-Geschütz auch etwas skeptisch.
Wieviel Strom nehmen die defekten uCs auf, lässt sich das messen?

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Hi,
also, obwohl eine Fassung für das Target der 32-er MEGA-Serie nicht on 
board ist:
Das STK500 mit dem 6-poligen SPI-Konnektor treibt sogar den Reset-Pullup 
von 2,7 k / 100 nF ohne aufzumucken.
Nehme schwer an, dass es besser wäre, beim Flashen die VTarget vom 
Programmieradapter selbst zu nehmen.
Die VTarget wird beim STK500 mit LM317 und PWM erzeugt, bricht bei 
irgendwelchen Bugs sofort zusammen, so dass der Flashvorgang afaik erst 
garnicht losläuft.
Habe garnicht mitbekommen, welcher Programmieradapter da verwendet wird,
der mit einem 10A-Netzteil betrieben wird.
Nehme an, es ist in Ermangelung eines geeigneteren ein Labornetzteil 
verwendet worden.

ciao
gustav

: Bearbeitet durch User
von S. Landolt (Gast)


Lesenswert?

Labornetzteil? Weiß nicht - wenn das Teil statt der "5v" "5.4V" liefert?

von Leon W. (leonw_04)


Lesenswert?

Karl B. schrieb:
> Nehme schwer an, dass es besser wäre, beim Flashen die VTarget vom
> Programmieradapter selbst zu nehmen.


Ich habe den AVR aus der Schaltung entfernt und auf ein Steckbrett 
gesteckt und benutze jetzt die Spannungsversorgung vom Usbasp di 
ungefähr bei 4.9-4.8V liegt

von Leon W. (leonw_04)


Lesenswert?

S. Landolt schrieb:
> Ich sehe dieses schwere 10 A-Geschütz auch etwas skeptisch.
> Wieviel Strom nehmen die defekten uCs auf, lässt sich das messen?

Werde die Stromaufnahme nachher mal messen, da ich im Moment nicht 
Zuhause bin

von Stefan F. (Gast)


Lesenswert?

Leon W. schrieb:
> Ich habe den AVR aus der Schaltung entfernt und auf ein Steckbrett
> gesteckt und benutze jetzt die Spannungsversorgung vom Usbasp di
> ungefähr bei 4.9-4.8V liegt

Netter Versuch. War er erfolgreich? Wenn nicht, mit welcher 
Fehlermeldung?

von Leon W. (leonw_04)


Lesenswert?

S. Landolt schrieb:
> Ich sehe dieses schwere 10 A-Geschütz auch etwas skeptisch.
> Wieviel Strom nehmen die defekten uCs auf, lässt sich das messen?

Der Atmega324PA nimmt 11 mA und der Atmega1284P nimmt 9 mA

von Leon W. (leonw_04)


Lesenswert?

Stefanus F. schrieb:
> Leon W. schrieb:
>> Ich habe den AVR aus der Schaltung entfernt und auf ein Steckbrett
>> gesteckt und benutze jetzt die Spannungsversorgung vom Usbasp di
>> ungefähr bei 4.9-4.8V liegt
>
> Netter Versuch. War er erfolgreich? Wenn nicht, mit welcher
> Fehlermeldung?

Dies gibt mir avrdude aus.
1
avrdude -pm324pa -cusbasp -F -v -v -B2000
2
3
avrdude: Version 6.3, compiled on Feb 17 2016 at 09:25:53
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
         Copyright (c) 2007-2014 Joerg Wunsch
6
7
         System wide configuration file is "C:\WinAVR-20100110\bin\avrdude.conf"
8
9
         Using Port                    : usb
10
         Using Programmer              : usbasp
11
         Setting bit clk period        : 2000.0
12
avrdude: seen device from vendor ->www.fischl.de<-
13
avrdude: seen product ->USBasp<-
14
         AVR Part                      : ATmega324PA
15
         Chip Erase delay              : 55000 us
16
         PAGEL                         : PD7
17
         BS2                           : PA0
18
         RESET disposition             : dedicated
19
         RETRY pulse                   : SCK
20
         serial program mode           : yes
21
         parallel program mode         : yes
22
         Timeout                       : 200
23
         StabDelay                     : 100
24
         CmdexeDelay                   : 25
25
         SyncLoops                     : 32
26
         ByteDelay                     : 0
27
         PollIndex                     : 3
28
         PollValue                     : 0x53
29
         Memory Detail                 :
30
31
                                  Block Poll               Page                       Polled
32
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
33
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
34
           eeprom        65    10   128    0 no       1024    4      0  9000  9000 0xff 0xff
35
           flash         33     6   256    0 yes     32768  128    256  4500  4500 0xff 0xff
36
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
37
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
38
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
39
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
40
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
41
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
42
43
         Programmer Type : usbasp
44
         Description     : USBasp, http://www.fischl.de/usbasp/
45
46
avrdude: try to set SCK period to 0.002 s (= 499 Hz)
47
avrdude: set SCK frequency to 500 Hz
48
avrdude: error: program enable: target doesn't answer. 1
49
avrdude: initialization failed, rc=-1
50
avrdude: AVR device initialized and ready to accept instructions
51
avrdude: Device signature = 0x000000 (retrying)
52
avrdude: Device signature = 0x000000 (retrying)
53
avrdude: Device signature = 0x000000
54
avrdude: Yikes!  Invalid device signature.
55
avrdude: Expected signature for ATmega324PA is 1E 95 11
56
57
avrdude done.  Thank you.

von Leon W. (leonw_04)


Lesenswert?

Der Atmega1284P funktioniert auf einmal wieder

von Joachim B. (jar)


Lesenswert?

> target doesn't answer

sagts doch -> kaputt

wenn du nicht noch andere PC, ISP Prommer und SW probieren kannst

Atmel Studio 4.18, Arduino als ISP, pony2000

wüsste ich auch nicht mehr weiter

von Leon W. (leonw_04)


Lesenswert?

Leon W. schrieb:
> Der Atmega1284P funktioniert auf einmal wieder

Allerdings sind die Fuses vestellt auf  (E:FF, H:D9, L:48), dass heißt 
das der interne Takt genutzt und durch 8 geteilt wird. Die Fuses waren 
vorher auf (E:FF, H:D9, L:EE) eingestellt

von Karl M. (Gast)


Lesenswert?

Hallo Leon,

Lustig: "avrdude -pm1284p -cusbasp -v -v -B2000"

Wer kommt auf die Idee avrdude mit -B 2000 aufzurufen?
Und wo ist die Übergabe des Parameters -P <PORT> zu finden?

Hier die Syntax von avrdude version 6.2.
Usage: avrdude [options]
Options:
  -p <partno>                Required. Specify AVR device.
  -b <baudrate>              Override RS-232 baud rate.
  -B <bitclock>              Specify JTAG/STK500v2 bit clock period 
(us).
  -C <config-file>           Specify location of configuration file.
  -c <programmer>            Specify programmer type.
  -D                         Disable auto erase for flash memory
  -i <delay>                 ISP Clock Delay [in microseconds]
  -P <port>                  Specify connection port.
  -F                         Override invalid signature check.
  -e                         Perform a chip erase.
  -O                         Perform RC oscillator calibration (see 
AVR053).
  -U <memtype>:r|w|v:<filename>[:format]
                             Memory operation specification.
                             Multiple -U options are allowed, each 
request
                             is performed in the order specified.
  -n                         Do not write anything to the device.
  -V                         Do not verify.
  -u                         Disable safemode, default when running from 
a script.
  -s                         Silent safemode operation, will not ask you 
if
                             fuses should be changed back.
  -t                         Enter terminal mode.
  -E <exitspec>[,<exitspec>] List programmer exit specifications.
  -x <extended_param>        Pass <extended_param> to programmer.
  -y                         Count # erase cycles in EEPROM.
  -Y <number>                Initialize erase cycle # in EEPROM.
  -v                         Verbose output. -v -v for more.
  -q                         Quell progress output. -q -q for less.
  -l logfile                 Use logfile rather than stderr for 
diagnostics.
  -?                         Display this usage.

avrdude version 6.2, URL: <http://savannah.nongnu.org/projects/avrdude/>;

von Matthias S. (da_user)


Lesenswert?

Leon W. schrieb:
> Ich meine den integrierten Pull up im AVR

Da stolpere ich gerade etwas drüber: sollte das nicht ein externer 
PullUP sein?

von Leon W. (leonw_04)


Lesenswert?

Karl M. schrieb:
> Hallo Leon,
>
> Lustig: "avrdude -pm1284p -cusbasp -v -v -B2000"
>
> Wer kommt auf die Idee avrdude mit -B 2000 aufzurufen?
> Und wo ist die Übergabe des Parameters -P <PORT> zu finden?

Den Port findet avrdude automatisch und - B2000 hab ich als Parameter 
eingegeben damit der die ISP Frequenz auf 500hz setzt

von Stefan F. (Gast)


Lesenswert?

Karl M. schrieb:
> Und wo ist die Übergabe des Parameters -P <PORT> zu finden?

Das ist bei den USB Geräten ohne COm-Port optional.

von Stefan F. (Gast)


Lesenswert?

Leon W. schrieb:
> Dies gibt mir avrdude aus.
> avrdude -pm324pa -cusbasp -F -v -v -B2000

Jetzt sieht die Ausgabe etwas anders aus, so also ob eine Kommunikation 
sattfindet, aber fehlerhaft. Das passt auch zu deiner Aussage, dass die 
LEDs alle flackern.

Ich würde jetzt mal die Stromversorgung und die Signalqualität der ISP 
Schnittstelle (incl. Reset) mit einem Oszilloskop prüfen. Falls du keins 
hast, google mal nach DSO138. Das ist ein billiges Spielzeug, aber immer 
noch besser als gar keins zu haben.

von S. Landolt (Gast)


Lesenswert?

an Leon W.:
Zu Ihrem konkreten Problem fällt mir erstmal nichts mehr ein, zumal der 
ATmega1284 plötzlich wieder funktioniert (die genannen Stromaufnahmen 
sind unauffällig). Aber tun Sie sich selbst einen Gefallen und kümmern 
Sie sich um eine vernünftige Stromversorgung (und ja, ich weiß, 
Ratschläge alter Männer sind so eine Sache, trotzdem):
  Ich versorge in der Regel die uCs aus einem kleinen Steckernetzteil, 
zwischengeschaltet ist eine Lochrasterplatine mit einem L200; dessen 
Ausgangsspannung lässt sich mit einem Trimmpotentiometer einstellen und 
ist abgreifbar für andere Zwecke. Die Strombegrenzung ist stufig 
geschaltet mit 10-20-50-100-200 mA. Dahinter folgen drei LP2950 mit 5.0, 
3.3 und 3.0 V. Und in den Stromschienen der Steckbretter sitzen fest 
Z-Dioden mit 6.2 V (und 5 W), falls ich mal versehentlich die 
L200-Spannung anlegen sollte - ist in all den Jahren zwar nur einmal 
passiert, war aber genau einmal zu viel.

von Rainer V. (a_zip)


Lesenswert?

S. Landolt schrieb:
> Ratschläge alter Männer sind so eine Sache, trotzdem):
>   Ich versorge in der Regel die uCs aus einem kleinen Steckernetzteil

Jau...aber es spricht überhaupt nichts dagegen, ein "ordentliches" 
Labornetzteil zu verwenden. Allerdings gibt es eine alte Regel :-) Den 
Kandidaten nur mit GND verbinden, Netzteil einschalten und Spannung 
messen/einstellen, Strombegrenzung auf einen "passenden" Wert 
einstellen, durch Kurzschluß kurz prüfen, und dann die Plus-Versorgung 
anschließen. Ausschalten des Probanden geschieht durch Abklemmen der 
Plus-Versorgung. So kann (fast) nichts passieren.
Gruß Rainer

von S. Landolt (Gast)


Lesenswert?

Okay, akzeptiert.
Ich selbst aber bevorzuge die Einfachheit in der Bedienung bei meinen 
LP2950. Die Materialkosten des Platinchens liegen unter 10 EUR. Woraus 
man dieses dann speist, sei mal dahingestellt.

von Rainer V. (a_zip)


Lesenswert?

S. Landolt schrieb:
> Okay, akzeptiert.
> Ich selbst aber bevorzuge die Einfachheit in der Bedienung bei meinen
> LP2950.

Mir geht es dabei in erster Linie darum, so wenig wie möglich 
Nebenschauplätze auf dem Tisch zu haben :-) Labornetzteil ist halt 
sowieso da.
Gruß Rainer

von S. Landolt (Gast)


Lesenswert?

Bei mir ist es umgekehrt - das Labornetzgerät bleibt in 95 % aller Fälle 
im Schrank.

Gruß aus dem Schwarzwald

von Leon W. (leonw_04)


Lesenswert?

Also nachem ich auf dem AVR wieder das Programm hochgeladen hat 
funktionierte es 30 s und dann kam auf einmal nur noch Blödsinn und dann 
schmierte er komplett ab und reagiert wieder nicht

von leo (Gast)


Lesenswert?

Leon W. schrieb:
> und wollte
> dann ein verbessertes Programm hochladen

und du traust diesem Programm?
Beginnt ja mal schon dubios:
1
  DDRC &= ~(1<<PORTC2) | (1<<PORTC3) | (1<<PORTC4) | (1<<PORTC5);
Ob da irgendwo eine Division durch 0 oder aehnliches folgt, will ich in 
dem Kothaufen nicht anschauen.

Schreib modularen, kommentierten und lesbaren Code, den du auch noch 
nach Monaten nachvollziehen kannst.

leo

von Ralph S. (jjflash)


Lesenswert?

leo schrieb:
> DDRC &= ~(1<<PORTC2) | (1<<PORTC3) | (1<<PORTC4) | (1<<PORTC5);

Unabhängig vom Flasherproblem: Soll wirklich nur PC2 ein Eingang und PC3 
bis PC5 Ausgänge sein ?

von Ralph S. (jjflash)


Lesenswert?

Ralph S. schrieb:
>> DDRC &= ~(1<<PORTC2) | (1<<PORTC3) | (1<<PORTC4) | (1<<PORTC5);

Ich verbessere mich:

PC2 als einziger Pin ist Eingang, alle anderen des PortC sind nach 
dieser Angabe Ausgänge !

~(1 << PORTC2)   => ~(0000.0010) => (1111.1011)

Eine nachfolgende Ver-ODER-ung anderer Bits als PC2 hat keinen weiteren 
Effekt

von Ralph S. (jjflash)


Lesenswert?

Ach herjeh, ich bin heute mit den Finger schneller als mit dem Kopf:

DDRC &= 1111.1011

Hier wird dann nur der PC2 als Eingang gesetzt, alle anderen bleiben wie 
sie waren

von spess53 (Gast)


Lesenswert?

Hi

>  DDRC &= ~(1<<PORTC2) | (1<<PORTC3) | (1<<PORTC4) | (1<<PORTC5);

Beim ATMega324 und ATMega1284 liegen auf diesen PINs das JTAG-Interface. 
Du hast das hoffentlich ausgeschaltet.

MfG Spess

von Stefan F. (Gast)


Lesenswert?

S. Landolt schrieb:
> Bei mir ist es umgekehrt - das Labornetzgerät bleibt in 95 % aller Fälle
> im Schrank.

Bei mir auch.

> funktionierte es 30 s und dann kam auf einmal nur noch Blödsinn

Ich kann mich nur wiederholen: Überpüfe die Stromversorgung. Solche 
Verhaltensweisen sind typisch, wenn die Stromversorgung nicht in Ordnung 
ist. Dabei verliert man nicht selten Teile des Programms im Flash. Das 
EEprom ist noch empfindlicher.

Bekommen wir irgendwann mal Schaltplan und Fotos zu sehen, oder hast du 
Freude am Ratespiel?

von Leon W. (leonw_04)


Lesenswert?

spess53 schrieb:
> Hi
>
>  DDRC &= ~(1<<PORTC2) | (1<<PORTC3) | (1<<PORTC4) | (1<<PORTC5);
>
> Beim ATMega324 und ATMega1284 liegen auf diesen PINs das JTAG-Interface.
> Du hast das hoffentlich ausgeschaltet.
>
> MfG Spess

Ja das Jtag Interface ist ausgeschaltet

von Sherlock Holmes (Gast)


Lesenswert?

Leon W. schrieb:
> Hat jemand eine Idee voran es liegen könnte?

Als Resümee des bisherigen Verlaufs:

Dein Aufbau und/oder deine Schaltung ist/sind scheisse.

von Joachim B. (jar)


Lesenswert?

Sherlock Holmes schrieb:
> Dein Aufbau ... ist scheisse.

Du hast den Aufbau vom TO gesehen, Respekt.

Ich sehe nichts, aber das macht das Helfen ja so sinnvoll, jeder gibt 
Tipps aus seiner Glaskugel, dummerweise nicht alle aus der selben 
Produktion.

von Karl B. (gustav)


Lesenswert?

Leon W. schrieb:
> Atmega324PA

Leon W. schrieb:
> Der Atmega1284P funktioniert auf einmal wieder

Hi,
mit welchem Target wird nun eigentlich gearbeitet?
Ist Portierung 1:1 möglich zwischen den beiden ATMELS oder nicht?

Wie ist das Pinout?
Dann, wo beginnt das dseg? bei 0060 oder 0100 ?
Nur ein paar wahllose Stichworte, die ich hier in die Debatte werfen 
möchte.

Finde mich in der Tabelle nicht wirklich zurecht:
https://www.mikrocontroller.net/articles/AVR_Typen#ATmega_-_Reihe

ciao
gustav

von Leon W. (leonw_04)


Lesenswert?

Karl B. schrieb:
> Leon W. schrieb:
>> Atmega324PA
>
> Leon W. schrieb:
>> Der Atmega1284P funktioniert auf einmal wieder
>
> Hi,
> mit welchem Target wird nun eigentlich gearbeitet?
> Ist Portierung 1:1 möglich zwischen den beiden ATMELS oder nicht?
>
> Wie ist das Pinout?
> Dann, wo beginnt das dseg? bei 0060 oder 0100 ?
> Nur ein paar wahllose Stichworte, die ich hier in die Debatte werfen
> möchte.
>
> Finde mich in der Tabelle nicht wirklich zurecht:
> https://www.mikrocontroller.net/articles/AVR_Typen#ATmega_-_Reihe
>
> ciao
> gustav

Also die Pinbelegung ist gleich, nur die SPI Register heißen anders.

Was meinst du mit dseg?

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Leon W. schrieb:
> Was meinst du mit dseg?

Hi,
wenn Bufferstarts etc. definiert werden mit dezidierten Adressen,
dann braucht man die Startadressen. Und die sind unterschiedlich, so 
dass
die Portierbarkeit nicht gegeben ist.
(Pinne für RXD und TXD sind auch anders. ok....)


ciao
gustav

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.