Datum: 15.05.2008 16:33
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
Datum: 15.05.2008 16:42
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
Datum: 15.05.2008 17:45
Also der Code sollte schon stimmen
int main(void){ DDRB |= (1<<PB7); // output =1 PORTB |= (1<<PB7); for (;;) { } return 0; } |
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?
Datum: 15.05.2008 18:15
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/... ) und 54. Hast Du den richtigen Prozessor in den Compiler-Optionen spezifiziert? Gruß Fred
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel