Forum: Mikrocontroller und Digitale Elektronik Atmega8l 16PU programmieren


von Domi N. (paradoxon)


Lesenswert?

Hallo.
Ich bin mit dem Arduino UNO SMD und einem angenehmen Lehrbuch - mit der 
Arduino-Umgebung v1.6.1 - am Lernen, den ATMEGA zu programmieren. Dies 
läuft wunderbar und habe keine Probleme damit.

Nun bin ich an einem Punkt angelangt, wo ich aber einen externen ATMEGA 
für natürlich eigene Projekte ohne Arduino, brennen/übertragen möchte 
für autonome Funktionen.
Und dies möchte ich über das alleinige kleine Progrämmchen 'Blink.ino' 
auf einen externen ATMEGA8L 16PU brennen möchte (siehe Code unten, 
nichts spezielles).

Mein Equipment besteht aus:
- mySmartUSB light - Programmer (AVR-ISP-Programmer)
- Software(n): Freeware über AVR-Burn-o-Mat, Bascom-AVR, WinAVR 
20100110, CodeVision AVR Evaluation, myAVR-SupportBox_MSUL.exe, 
AVR-Studio 4
- Kabels etc. vorhanden (6pin-vom ISP-Programmer)
- Arduino UNO SMD natürlich

Ich schaffe es einfach nicht, den Arduino-Bootloader, oder auch nur ein 
.HEX-File drauf zu laden. COM-Port etc. ist eingestellt, habe auch 
versucht, den Arduino gem. WWW und Foren etc. als ISP zu benutzen - 
alles jedesmal erfolglos und kein Blinken.

Ich würde mich sehr freuen, wenn ich ein mit Arduino erstelltes 
.ino-Programm so einfach wie möglich auf den ATMEGA8L 16PU bringen 
könnte - damit ich auch weiss, dass ich dann endlich unabhängig vom 
Arduino-Print bin (für jedes Projekt einen Arduino ist schon ein wenig 
teuer :) ).

Grüsse
Dominik
1
void setup() {
2
  // initialize digital pin 13 as an output.
3
  pinMode(13, OUTPUT);
4
}
5
6
// the loop function runs over and over again forever
7
void loop() {
8
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
9
  delay(1000);              // wait for a second
10
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
11
  delay(1000);              // wait for a second
12
}void setup() {
13
  // initialize digital pin 13 as an output.
14
  pinMode(13, OUTPUT);
15
}
16
17
// the loop function runs over and over again forever
18
void loop() {
19
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
20
  delay(1000);              // wait for a second
21
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
22
  delay(1000);              // wait for a second
23
}

von MWS (Gast)


Lesenswert?

Dominik B. schrieb:
> auf einen externen ATMEGA8L 16PU brennen möchte

Ein frischer ATM8 läuft aus der Schachtel heraus mit 1MHz internem 
Clock, die ISP Frequenz muss kleiner/gleich ein Viertel CPU-clock sein.

Selbst wenn der ISP am Arduino mit 16MHz Clock funktioniert, muss er das 
noch lange nicht am frischen ATM8, welcher eben <= 250kHz ISP-Clock 
braucht.

Ist der ATM8 ordentlich angeschlossen und mit Abblock-Kondensator 100nF 
versehen?

von Domi N. (paradoxon)


Lesenswert?

Hallo MWS.
Ja, angeschlossen ist alles korrekt.

Da ich eher in die Richtung möchte, den ATMEGA8 per mySmartUSB light (zB 
am USB Port 6) zu brennen, denke ich, dass mein (wirklich) grosses 
Problem daran liegt, etwas an den SW-Einstellungen nicht korrekt 
vorgenommen zu haben wie zB beim AVRDUDE oder den o.g. Softwaren.

Ich würde mich sehr freuen, wenn Du (oder jemand) mir den Ablauf mit 
einer o.g. Software für die o.g. Situation schildern könnte, welchen ich 
dann auch so 1:1 übernehmen kann.
Es gibt so viele Einstellungen mit Fuse-Bits, Kürzeln wie -e etc. und 
Baudrate am Port etc., welche mich extrem verunsichern, nur eine kleine 
Einstellung/Zahl/Häckchen nicht oder falsch gesetzt zu haben.

Liebe Grüsse
Dominik

von Domi N. (paradoxon)


Lesenswert?

Hallo.
Habe es soeben nochmals versucht mit AVRDUDE:
Unten steht eine lange Zeile, welche ich nicht editieren kann (fix was 
oben ausgewählt) und gibt mir den Fehler bei -C, dass ein "w" nicht 
erkannt wird.

Bin offen für andere SW um mit mySmartUSB light zu brennen (6pin MISO, 
MOSI etc.).

Grüsse

von Domi N. (paradoxon)


Lesenswert?

Hallo.
Ich war gestern mal 5 Stunden dran, hatte - wie es scheint - 
Kommunikation mit dem uC Atmega8 per mySmartUSB light: Somit scheint 
dies mal iO.

Danach verfuse-te ich jedoch 3 uC...

Nun die Frage:
1) Welche Fuses ist wichtig um die Kommunikation nicht zu 
beeinträchtigen?
2) Welche Fuses sind 'richtig'? Kann man die irgendwo ablesen?
3) Wie kann ich die Signatur herauslesen (ohne AVRDUDE...)

Grüsse

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.