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