Hallo, ich habe in meine Schaltung einen Mega8 verbaut. Er lässt sich auch programmieren, jedoch habe ich das gefühl, irgendwie läuft das nicht so optimal. Wenn ich im Quellcode einen Pin auf 1 setze messe ich lediglich 0,3V anstelle von 5V. Was könnten gründe dafür sein? weiterhin verwende ich den internen Oszillator mit 8MHz. Kann ich da irgendwo testen ob er auch mit der frequenz läuft? Vielen Dank schon einmal Gruß Armin
Hi Armin, > Wenn ich im Quellcode einen Pin auf 1 setze messe ich lediglich 0,3V > anstelle von 5V. > Was könnten gründe dafür sein? Gehen wir mal davon aus, Du hast den uC mit dem kompilierten Quellcode gefüttert: 1. DDRx nicht gesetzt 2. PORTx nicht richtig gesetzt 3. Kurzschluss 4. Code setzt PORTx wieder auf "0" 5. Du hast nur kurze Impulse auf dem Pin, die Dein Messgerät nicht "sieht" > weiterhin verwende ich den internen Oszillator mit 8MHz. > Kann ich da irgendwo testen ob er auch mit der frequenz läuft? Ehe wir das diskutieren: Wie sehen die Fuses (CKSEL0-3, SUT0-1) aus? Selbst wenn die Fuses den internen Oszillator mit 8 MHz definieren: die tatsächliche Frequenz ist recht stark spannungs- und temperaturabhängig. Zumindest die Größenordnung sollte aber stimmen. Gruß Fred
Also der Code sollte schon stimmen
1 | int main(void){ |
2 | |
3 | DDRB |= (1<<PB7); // output =1 |
4 | PORTB |= (1<<PB7); |
5 | |
6 | for (;;) |
7 | {
|
8 | |
9 | }
|
10 | |
11 | return 0; |
12 | }
|
ich habe gerade jeden in nochmals getestet und keinen Kurzschluss festgestellt. Zu den FUSE-BITS: 0xD9, 0xE4 mit CKSEL3..0 ist 0100 Kann ich denn nicht an einem XTAL-Pin die frequenz messen?
Hallo Armin, Dein Code sieht in Ordnung aus. > Zu den FUSE-BITS: > 0xD9, 0xE4 > mit CKSEL3..0 ist 0100 ..und 0xD9&0b1=CKOPT=1 (=unprogrammiert), also auch OK für den internen Oszillator. > Kann ich denn nicht an einem XTAL-Pin die frequenz messen? Nö, PB7 ist ja einer der XTAL-Pins; bei CKSEL0..3=0100 ist der (bei ASSR=0) ja ein normaler I/O-Pin. Methoden zur Frequenzbestimmung beschreibt Atmel in den Application Notes 53 ( http://www.atmel.com/dyn/resources/prod_documents/doc2555.pdf ) und 54. Hast Du den richtigen Prozessor in den Compiler-Optionen spezifiziert? Gruß Fred
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.