habe mir (damit ich später ein wenig experimentieren kann) einen attiny45 noch gekauft. habe leider erst später festgestellt das er 20 mhz benötigt. Man kann ihn auch mit weniger betreiben oder?? (das ist bei jedem der µC der Fall oder?????)
Druckbare Version
habe mir (damit ich später ein wenig experimentieren kann) einen attiny45 noch gekauft. habe leider erst später festgestellt das er 20 mhz benötigt. Man kann ihn auch mit weniger betreiben oder?? (das ist bei jedem der µC der Fall oder?????)
Ja,man kann ihn auch mit weniger betreiben, wie alle anderen AVRs auch.
UND: er hat, wie glaub auch alle anderen AVR-Microcontroller einen EINGEBAUTEN Oszillator, der mit 1, 2, 4 oder 8MHz schwingen kann (das wird über die Fusebits eingestellt)
Mit externen Oszillatoren kannst du fast jede beliebige Taktrate kleinergleich 20MHz nehmen, zu niedrige Taktraten (irgendwo im Kilohertz-Bereich) lassen den MC eventuell seine flüchtigen Daten "vergessen", zu hohe Taktraten lassen ihn instabil laufen.
habe jetzt das erste mal versucht dieses programm zu übertragen:
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 1000000
Config Portc.0 = Output 'Ein Pin wird als Ausgang konfiguriert PC0 (also Pin0 von Port C)
Do
Portc.0 = 1 'Pin wird auf High, also 5V geschaltet
Waitms 100
Portc.0 = 0 'Pin wird auf Low, also 0V geschaltet
Waitms 100
Loop
End
beim übertragen kamen diese fehlermeldungen:
Could not identify chip with ID:FFFFFF
Selected chip and target chip do not match AT90S1200 <> ATMEGA 32
dann kommt das fenster zum programm übertragen, wenn man auf programm übertragen klickt passiert nichts.
kann mir jemand helfen?????????
habe die schaltung nochmal neu aufgebaut; jetzt geht alles!
Wollte jetzt das quarz einstellen damit dies verwendet wird, aber ich habe eine neuere version von bascom und da ist einiges anders. Dort gibt es mindestens 20 einstellungen für das quarz, teilweise sind mhz angegeben aber max. 12, 16 finde ich nicht.(für mega32) kann mir da jemand helfen???
Kann mir bitte jemand sagen wie ich das quarz einstelle(welche auswahl bei lock and fuse bits??) und wenn man ein servo über ein pwm signal steuert, wie schalte ich das signal ab wenn das servo die entsprechende Position erreicht hat???
Danke.
Hast du dir die Fusebits schonmal angesehen? Ist relativ selbst erklärend.
Gar nicht, der Servo braucht das Signal ständig um die Position zu halten.Zitat:
servo die entsprechende Position erreicht hat....
die fusebits sind teils selbsterklärend (bis 12 mhz) dann wirds für mich unübersichtlich! Ist diese einstellung bei 16 mhz richtig??:
111111:Ext:Crystal/Resonator High Freg;Start-up time:16 K CK + 64ms;[CKSEL = 1111 SUT = 11]
Kann mir auch jemand sagen wie man die ADCs ansteuert. Im RN-wissen verstehe ich das nicht ganz. Wie würde in bascom ein programm aussehen wo man eine variable (z.B. a) hat wo der aktuelle wert gespeichert wird! (bei 10 bit also 0-1024) (teilungsfaktor 16)
Und wenn man als Betriebsmodi Free running möchte, muss man in bascom dann Free angeben????
Wenn man mehrere größen zu berechnen hat gibt es ja den multiplexer, muss der extra im programm angesteuert werden oder geht das automatisch??
mfg wsk8
Kann mir bitte jemand helfen?????
Bin leider noch anfänger!! :-(
zu dem ADC:
zuerst musst du ihn initialisieren, z.B. so:
das "= single" bedeutet, dass er nur bei 'Abruf' den Wert eines bestimmten ADC-Eingangs umwandelt. (der andere modus lässt ihn das dauernd machen)Code:Config Adc = Single , Prescaler = 64 . Reference = Avcc
Start Adc
prescaler ist der vorteiler vom Clock-Takt, der ADC braucht eine Wandlerfrequenz die in einem bestimmten Bereich liegt.
Laut dem Datenblatt liegt die beim ATMega32 bei 50-200kHz für maximale Auflösung (10 Bit).
schau also, mit welchem (ganzzahligen) Teiler deines Clock-Taktes du möglichst nah unter 200kHz kommst.
die Reference (Referenzspannung, also Vergleichsspannung) ist hier "Avcc", also die Betriebsspannung (meist 5V)
Referenz kann aber auch Vref und anderes sein, ich kenn mich da nicht mehr so gut aus (auf C umgestiegen)
wenn am ADC-Pin eine der Referenzspannung gleiche Spannung anliegt, wird der höchste Wert ausgegeben ( 2^8 bzw hier 2^10). bei einer der Masse (GND) gleichen spannung wird 0 ausgegeben. bei negativen Spannungen (gegenüber GND) wird glaub entweder 0 ausgegeben oder der ADC geht kaputt.
mit "start ADC" wird der ADC zur Benutzung freigegeben
abfragen kannst du einen ADC-Pin "x" mit
also z.B. den ADC3 mitCode:Variable = getadc(x)
========================================Code:Variable = getadc(3)
Zu den Fusebits:
a: selbst wenn die den Takt betreffenden Fusebits falsch eingestellt sind, kannst du sie per ISP immer ändern!!! also keine angst mit diesen Fusebits!
b: solte so passen, probier es einfach aus!
@ ALKI
war schon sehr hilfreich!!!!!!
Wenn ich jetzt statt single den anderen modus möchte (laut rn wissen free running) was muss ich da schreiben (free o. ähnliches funkt. nicht)
Das Quarz schließe ich nach rn wissen an ( 2 x 22pf kondensatoren) habe jetzt schon (da ich jetzt weiß das man es immer umstellen kann) ganz viele einstellungen probiert mit high freg. Leider kommt nach dem ich ein programm geflasht habe eine fehlermeldung und am µC tut sich nichts???
mfg Wsk8