Hi, Ich wollte den ATMega1284p über nen 16Mhz Quarz als clock versorgen. Ich habe die lfuse auf 0xC0 gesetzt. Offensichtlich war das nicht richtig, denn ich kann den Chip nun nicht mehr programmieren. Den Quarz habe ich schon erfolgreich bei nem ATMea328p eingesetzt. Was habe ich falsch gemacht und was muss ich nun tun um wieder auf den chip zugreifen zu können?
Quarz weg, und einen Takt von extern einspeisen. Oder eben einen ca 500kHz Quarz dran bauen.
Quarz weg, und einen Takt von extern einspeisen. Oder eben einen ca 500kHz Quarz dran bauen.
Was meinst du mit Quarz weg, und einen Takt von extern einspeisen? Wieso 500khz Quarz?
ich dachte mit der lFuse 0xC0 hätte ich den MC so eingestellt dass er eine beliebige Frequenz eines Quarzes erwartet.
ich dachte mit der lFuse 0xC0 hätte ich den MC so eingestellt dass er eine beliebige Frequenz eines Quarzes erwartet.
0.4 bis 0.9 MHz ist keinesfalls beliebig.
Siehe: https://www.engbedded.com/fusecalc/ Oder eben im Datenblatt nachschauen.
Was meinst du mit Quarz weg, und einen Takt von extern einspeisen?
Was verstehst du an den Worten nicht?
Dein Oszillator ist kaputt(konfiguriert) Also brachst du einen Takt von extern.
Alternativ: Ein HVPP Programmer
ich dachte mit der lFuse 0xC0 hätte ich den MC so eingestellt dass er eine beliebige Frequenz eines Quarzes erwartet.
0.4 bis 0.9 MHz ist keinesfalls beliebig.
Siehe: https://www.engbedded.com/fusecalc/ Oder eben im Datenblatt nachschauen.
den Fuse calculator habe ich benutzt. Wo ließt du da 0,4 - 0,9 Mhz?
ich habe im dropDown das ausgewählt
1 |
|
ich habe im dropDown das ausgewähltExt. Clock; Start-up time: 6 CK + 0 ms; [CKSEL=0000 SUT=00]
Stimmt, du hast Wahr! (wohl verklickt)
Und doch: Arduino F. schrieb im Beitrag #7505777:
Dein Oszillator ist kaputt(konfiguriert) Also brachst du einen Takt von extern.
Denn ein externer Oszillator, den du ja konfiguriert hast, ist kein Quarz. Da kann ein Quarz drin stecken, ist aber keiner. Ein Quarz wird in dem Menü Crystal genannt Du möchtest vermutlich einen ext. Crystal Oszillator mit 8.0- MHz
ok, ich habe diesen Programmierer https://cdn-reichelt.de/documents/datenblatt/A300/DIAMEX-PROG-S2.pdf
Er scheint ein Taktsignal bereitzustellen. Also habe ich den Quarz entfernt und das Taktsignal an XTAL1 angeschlossen. Leider immer noch keine Reaktion vom Chip.
Da kann ich nix zu sagen.....
Wie kann ich denn am einfachsten ein Taktsignal erstellen? Muss das eine gewisse Frequenz einhalten? Und der Atmega1284p erwartet es am Pin XTAL 1 ?
Mit einem Arduino?
Muss das eine gewisse Frequenz einhalten?
Nicht wirklich... Mindestens ein Xfaches des ISP Taktes. Siehe Datenblatt.
Mit einem Arduino?
Arduino Atmega328P @16MHz, 1MHz-Rechteck an PB5 (D13, LED):
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
LG, Sebastian
das Taktsignal an XTAL1 angeschlossen. Leider immer noch keine Reaktion vom Chip. Muss das eine gewisse Frequenz einhalten?
Hast du bedacht, dass die CPU Taktfrequenz mindestens 4x so schnell sein muss, wie die ISP Kommunikation?
Wie kann ich denn am einfachsten ein Taktsignal erstellen?
Mit einem Astabilen Multivibrator aus Logikgattern. Oder mit einem Programm auf einem anderen Mikrocontroller. Oder mit einem NE555. Oder du kaufst einen fertigen Quarz-Oszillator.
Und der Atmega1284p erwartet es am Pin XTAL 1 ?
Ja.
Vielleicht hilft dir mein Artikel zum Thema: http://stefanfrings.de/avr_verfused/
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.