mikrocontroller.net

Forum: Compiler & IDEs Zeiteinstellen unter c für den SDCC


Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute...

ich habe da eine Frage an euch!
Die Frage lautet wie ich in C eine Zeitverzögerung hinbekomme
um die gleiche Baud-Geschwindigkeit wie mein Controller zu bekommen!

Die Funktion sleep funktioniert unter SDCC nicht!!

Gruß chris

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hast Du vor? Man braucht keine Zeitverzögerung, um irgendwelche
Dinge mit Baudraten zu erledigen; das macht die Hardware der seriellen
Schnittstelle schon selber.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte dies ja ohne Hilfsmittel machen! Also alles selbst!!

gruß Chris

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hä?

Schilder mal etwas ausführlicher, was Du vorhast.
Willst Du eine serielle Schnittstelle in Software emulieren? Willst Du
selbst qua Bitwackeln (Morsetaster) eine serielle Schnittstelle oder
gar einen Microcontroller emulieren? Ist der Kaffee alle?

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi leute...

ich habe die aufgabe ein c-Programm zu schreiben, was mit einer
seriellen Schnittstelle verbunden ist. Besser gesagt eine serielle
Schnittstelle mit eingebuden werden soll ohne jegliche Hilfe durch ein
Special Funktion Register oder ähnliches! Einfach nur über die serielle
schnittstelle P3.1! Dazu brauche ich die gleiche Baudrate wie die auf
meinem Micro Controller!

Gruß chris

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du sollst also wirklich eine serielle Schnittstelle in Software
emulieren. Oder auch nicht? "Einfach nur über die serielle
schnittstelle P3.1!" - Das ist keine serielle Schnittstelle, sondern
ein Portpin.

Was magst Du mit " Dazu brauche ich die gleiche Baudrate wie die auf
meinem Micro Controller!" meinen? Wer soll wo wann irgendwelche
Baudraten erzeugen?

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um etwas sereiell durchführen zu können, sprich daten auszutauschen,
brauchen Sender und Empfänger die gleiche Geschwindigkeit bzw. die
gleiche Baudrate!

In meinem Fall kann über den Port 3.1 daten ausgetauscht werden!

Gruß chris

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast offensichtlich meine Frage nicht verstanden.
Hast Du Deine Aufgabenstellung wirklich richtig verstanden?
Womit soll denn der von Dir zu programmierende Controller verbunden
werden?



..................... <- eine Handvoll Satzzeichen, die Du anstelle der
! verwenden solltest.

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, Oldbug. Das ist so ähnlich wie meine K&R-Fußnote.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
P3.1 ist TxD beim 8051. P3.0 dementsprechend RxD.

Der Satz:
"Einfach nur über die serielle schnittstelle P3.1
läßt darauf schliessen, dass Du über diese beiden Datenaustauschen
sollst. Dies geht aber nicht ohne in die entsprechenden Register die
Baudrate, Daten usw. zu schreiben.

Falls du wirklich alles händisch machen sollst, musst Du über einen
Timer in den entsprechenden Zeiten, entsprechend den Bits deiner Daten,
den Portpin setzen. Das wäre aber eine Arbeit für einen der Vater und
Mutter erschlagen hat.

Ich meine von Atmel gibt es sowas. Da wird für den AT90S1200 über die
Pins eine serielle nachgebildet. Aber nur weil der keine hat und nicht
weil er eine hat und wir das ganze alles selber machen wollen.
Da es ein ganz anderer Typ ist wirst Du das Programm aber nicht nehmen
können. Vielleicht aber als Anregung.
Allerdings habe ich, wie bereits geschrieben, meine Zweifel, dass das
so laufen soll.

Ein bischen genauer hätte die Erklärung schon sein können. Vielleicht
siehst Du Dir erst einmal das Datenblatt des 8051 an.

Grüße
Andreas

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.