Hallo,
ich hab ausversehen einen meiner ATtiny45-20PU auf 16MHz -external- 
clock gefust (low_fuses=0xfe) und keinen Quarzoszillator da...
In http://www.mikrocontroller.net/articles/AVR_Fuses hab ich gelesen, 
man könnte einen anderen AVR als Taktgenerator nehmen. Aber das will 
nicht so recht funktionieren....
Ich habe folgenden Quellcode (arduino sketch) benutzt:
| 1 | #define clk_out 0
 | 
| 2 | 
 | 
| 3 | void setup(){
 | 
| 4 |   pinMode(clk_out, OUTPUT);     // set chargePin to output
 | 
| 5 |   digitalWrite(clk_out, LOW);
 | 
| 6 | }
 | 
| 7 | 
 | 
| 8 | void loop() {
 | 
| 9 |   while (1) {
 | 
| 10 |     digitalWrite(clk_out, HIGH);
 | 
| 11 |     digitalWrite(clk_out, LOW);
 | 
| 12 |   }
 | 
| 13 | }
 | 
Laut Arduino "pins_arduino.h" ist die Übersetzung der Pin-Nummerierung 
wie folgt:
| 1 | // ATMEL ATTINY45 / ARDUINO
 | 
| 2 | //
 | 
| 3 | //                  +-\/-+
 | 
| 4 | // Ain0 (D 5) PB5  1|    |8  Vcc
 | 
| 5 | // Ain3 (D 3) PB3  2|    |7  PB2 (D 2)  Ain1
 | 
| 6 | // Ain2 (D 4) PB4  3|    |6  PB1 (D 1) pwm1
 | 
| 7 | //            GND  4|    |5  PB0 (D 0) pwm0
 | 
| 8 | //                  +----+
 | 
Diesen habe ich auf einen zweiten ATtiny45 geladen, der mit 8MHz 
(intern) läuft. Dieser ist mit auf dem Steckbrett, hängt am Strom und 
pin 5 (PB0 [D0]) ist mit XTAL1 (nach obigem Schema Pin 2 / PB3) des 
"verfusten" ATTiny angeklemmt. Dieser steckt in Steckbrett (Verkabelung 
unverändert) an gleicher Stelle an der ich eben noch den 
Taktgeber-ATtiny erfolgreich programmiert habe...
Der Effekt ist, dass avrdude als device signature unverändert 0xffffff 
liefert. Und natürlich den bootloader nicht flasht... auch nicht mit -F.
Um sicher zu sein, dass der Pin der Richtige ist, habe ich folgendes 
Programm auf den Taktgeber geladen und am Pin eine LED+Widerstand 
gehängt, welche wie erwartet im Sekundentakt an und aus schaltet:
| 1 | int led = 0;
 | 
| 2 | 
 | 
| 3 | void setup() {                
 | 
| 4 |   pinMode(led, OUTPUT);     
 | 
| 5 | }
 | 
| 6 | 
 | 
| 7 | void loop() {
 | 
| 8 |   digitalWrite(led, HIGH);
 | 
| 9 |   delay(1000);
 | 
| 10 |   digitalWrite(led, LOW);
 | 
| 11 |   delay(1000);
 | 
| 12 | }
 | 
Frage:
Was mache ich falsch?
Ist die Taktrate im obigen Programm vielleicht zu hoch?
Gibt es irgendwo nen sicher funktionierendes Taktgeber-Programm?
Danke ...
Stefan