Hallo Leute! Ich wollte mit meinem ATtiny85 ganz einfach im Loop-Programm einen digitalen Pin für zwanzig Mikrosekunden auf HIGH setzen und für eine zehn Mikrosekunde auf LOW. Um ihn zu programmieren habe ich mich an folgendes Video gehalten: https://www.youtube.com/watch?v=i9WOwDrpRKs Um den digitalen Pin zu schreiben habe ich den micros()-Befehl benutzt. Als Board habe ich 8MHz eingestellt, da laut Video und dem Internet die millis() und micros() Funktionen so am zuverlässigsten arbeiten. Aber von Zuverlässigkeit ist bei mir nichts zu sehen... Egal was ich versuche, der digitale Pin bleibt nicht für annähernd zehn bzw. zwanzig Mikrosekunden HIGH bzw LOW. Gemessen habe ich ungefähr 100 bzw 200 Mikrosekunden. Im Internet habe ich keine Lösung für das Problem gefunden. Man soll nur den ATtiny85 @ 8MHz auswählen und alles sollte funktionieren. Ich habe dann auch mal den _delay_ms() Befehl versucht. Komme aber auf das selbe Ergebnis. Auch hab ich mal den ATtiny85@1MHz-Bootloader geladen aber wieder das selbe Problem. Kann mir bitte jemand helfen? Würde mich sehr freuen!
Welche Zeiten werden denn stattdessen erreicht? Wie sieht der Code genau aus? Einen 1MHz Bootloader für einen 8MHz Chip? Läuft der Chip auch mit 8MHz(Clock Div Fuse)
Gast
#4138365
Sven Fießer schrieb: > Um den digitalen Pin zu schreiben habe ich den micros()-Befehl benutzt. > Als Board habe ich 8MHz eingestellt, da laut Video und dem Internet die > millis() und micros() Funktionen so am zuverlässigsten arbeiten. > > Aber von Zuverlässigkeit ist bei mir nichts zu sehen... Das gleiche Thema habe ich auch grad, es läuft zehnmal schneller. Der Attiny85 gehört ja auch nicht zur Arduino Kollektion sondern den hast du dazu gefrickelt. Vergiss es, ich habe mich da auch schon totgesucht wo F_CPU noch alles verwendet wird. Da stimmt was mit den AttinyLibs nicht. Ich habe eigene delay geschrieben und die Durchlaufzeit verzehnfacht. Hier steht es richtig: -DF_CPU=1000000L Nur verwendet wird es nicht, sondern es tickt extakt 10-fach schneller. C:\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=attiny84 -DF_CPU=1000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=105 -IC:\Arduino\hardware\avr\cores\tiny C:\Users\cjulius\AppData\Local\Temp\build4729249484552314400.tmp\GPS_Tra cker.cpp -o
Gast
#4138371
Hier ist mal die Lib des Attiny85.....wieso der Zirkus mit dem PWM abschalten und dem Interrupt aus beim Setzen eines Pins? Habe das auskommentiert.
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 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.