
Tipps und Fragen zum Lernpaket Tiny85
Elektronik-Labor Projekte AVR Tiny85
Zähler-Eingang am Timer0
Auf
S. 83 hat sich ein Fehler eingeschlichen: Bei der Messung der Frequenz
werden die externen Impulse nicht vom Timer1, sondern tatsächlich vom
Timer0 gezählt, dessen Eingang an B2 liegt. Das abgedruckte Programm
zeigt es korrekt.
Ein Test unter Linux von Ralf Beesner
Unter
meinem Slackware Linux funktioniert das meiste.
LPmikro85.exe tut es unter Wine, mit ergänzter avrdude.conf geht auch
avrdude (aber nur SEHR langsam und nur im ISP-Modus), und Bascom-AVR
funktioniert mit dem neuen Wine 2.0 halbwegs (bei meinem Vierkerner
drehen allerdings 2 Kerne im Dauerlauf auf 100%). Unter Kubuntu
16.04 LTS sieht es nicht so toll aus - da wird noch Wine 1.6
eingesetzt, und Bascom ist darunter kaum zu gebrauchen.
CompactDefinition scheint jedoch ein hoffnungsloser Fall zu sein; das
segfaultet sofort.
Ein Sinusblinker von Christian Meilinger
In AVR-basierten Franzis
Lernpaketen finde ich "weiche Blinker", die die PWM linear
zur Zeit steuern. Dadurch wirken diese LED-Blinker immer so, als ob sie
nie wirklich dunkel würden. Mit Hilfe von nichtlinearen Funktionen, wie
z.B. Sinus, könnte man die Dunkelphase verstärken und den Softblinker
ausgewogener blinken lassen. Anbei ein modifiziertes Programm mit Sinus
am Port B.0.
'PWM1_neu.bas - Sinusblinker - --------------------------------------
$regfile = "attiny85.dat"
$crystal = 8000000
$hwstack = 64
$swstack = 32
$framesize = 32
Dim N , Dat , Ampl As Integer
Dim Rad , S , T , U As Single
Config Timer0 = Pwm , Prescale = 8 , Compare A Pwm = Clear_up
Do
For N = 0 To 180
S = N
T = Deg2rad(s)
U = Sin(t)
Dat = U * 256
Ampl = 255 - Dat
Pwm0a = Ampl
Waitms 10
Next N
Loop
End
Elektronik-Labor Projekte AVR Tiny85