mikrocontroller.net

Forum: Compiler & IDEs at90can128: _delay_ms() funktioniert nicht mehr


Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich erzähl erst mal, womit ich arbeite:

AT90CAN128 auf STK500 mit 501-Adapter
WINAvr
Zur Datenübertragung: AVRStudio 4.0

Als ich heute versuchte, meine atmega8-Bibliotheken auf einem
AT90CAN128 zum Laufen zu bekommen, musste ich feststellen, daß
_delay_ms() und delay_us() nicht mehr funktionieren.

F_CPU ist auf 8MHz gesetzt, Die Teilerfuse (Divide Clocl internally by
8) ist nicht gesetzt.

_delay_ms(1) ist zunächst mal nicht hinderlich, hilft aber auch nicht.

_delay_ms(x) mit1<x<30 führt dazu, daß die Funktion, die es verwendet,
sich nicht mehr meldet bzw. keine Reaktion auf Tastendruck erfolgt.

Da ich eigentlich nur einen Taster entprellen muß, möchte ich
eigentlich keine Timerbasierte Funktion schreiben.

Hat mir jemand einen Ratschlag?

(Das Metaproblem dazu ist, daß ich meine I2C-Bibliotheken, die ich auf
einem mega8 entwickelt habe, gerade auf den at90can128 portiere.
Dabei bricht die Datenübertragung abrupt, meistens nach SLA+W aber auch
früher ab, und ich oszillographiere eine erneute start-condition. Als
Ursache vermute ich gerade stark das nicht abgefangene Tasterprellen.)

Gruß,
Harald

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun, erstens sollten die Teile natürlich funktionieren, muss
ich mir am Wochenende mal auf einem 'C128 ausprobieren.

Ansonsten: use a timer.  Tastaturentprellung ist eine typische
Routineaufgabe für einen regelmäßig laufenden Timer-Interrupt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.