Hallo hab da ein kleines Problem !
Habe ien Mikrocontrollersystem mit einem Atmel Prozessor !
Möchte über einen Port von einer seriellen Schnittstelle Zeichen einlesen und in einem array abspeichern !
Was gibt es da für Befehle !
Hallo Fragewurm,
Hallo hab da ein kleines Problem !
Habe ien Mikrocontrollersystem mit einem Atmel Prozessor !
Möchte über einen Port von einer seriellen Schnittstelle
Zeichen einlesen und in einem array abspeichern !
Was gibt es da für Befehle !
Anstatt jeden Monat die Frage zu posten, solltest du mal angeben in welcher Umgebung (Betriebssystem = BS) dein Code funktionieren soll…
Aus deiner Frage geht nicht hervor ob das jetzt unter Windows, Linux oder auf dem Amtel ausgeführt werden soll ?
Grundsätzlich gibt es in C/C++ KEINE Befehle um die RS232-Schnittstelle zu bedienen, dies ist Aufgabe des BS.
MfG Peter(TOO)
Hallo hab da ein kleines Problem !
Habe ien Mikrocontrollersystem mit einem Atmel Prozessor !
Möchte über einen Port von einer seriellen Schnittstelle
Zeichen einlesen und in einem array abspeichern !
Was gibt es da für Befehle !
Hallo,
wenn du einen C-Compiler für Atmel hast, ist in der Dokumentation aufgeführt, wie die Spezialregister angesprochen werden. C zu programmieren ohne die Dokumentation zu lesen ist blödsinnig.
Wenn du keinen solchen Compiler hast, ist die Frage gegenstandslos.
Gruss Reinhard
Grundsätzlich gibt es in C/C++ KEINE Befehle um die
RS232-Schnittstelle zu bedienen, dies ist Aufgabe des BS.MfG Peter(TOO)
Hallo Peter,
das ist ungefähr so tiefschürfend wie die Erkenntnis, dass Strom aus der Steckdose kommt. Wie schreibt man ein Betriebssystem in C?
Gruss Reinhard
Hallo Reinhard,
Grundsätzlich gibt es in C/C++ KEINE Befehle um die
RS232-Schnittstelle zu bedienen, dies ist Aufgabe des BS.MfG Peter(TOO)
Hallo Peter,
das ist ungefähr so tiefschürfend wie die Erkenntnis, dass
Strom aus der Steckdose kommt. Wie schreibt man ein
Betriebssystem in C?
Die meisten Betriebssysteme sind heutzutage fast komplett in C geschrieben, daz wurde C ursprünglich einmal entwickelt. Genauere Angabe zu Unix kannst du bei K&R nachlesen. Assembler brauchst du eigentlich nur gerade für den Task-Switch, also das Umladen der Register.
Ich selbst habe schon einige Multitask-Betriebssysteme für µPs geschrieben und ausser im Modul Cstartup und dem beschriebenen Taskwechsler (ca 15 Zeilen) findest du keinen Assemblercode.
Bei C darf man die Sprache selbst nicht mit den Bibliotheksfunktinen verwechseln. Der Compiler hat keine Ahnung von z.B. strlen(), diese Funtion ist Teil einer Bibliothek und kann vom Programmierer jederzeit durch eine eigene Funktion ersetzt werden ohne den restlichen Sourcecode zu ändern, versuche dies einmal bei BASIC.
In ANSI-C werden einige Bibliotheken vorgeschrieben, deren Verwendung ist aber „freiwillig“. z.B. ist die Funktion „fopen()“ zwar in ANSI definiert, aber der genaue Aufbau des Pfades hängt vom Betriebssystem ab und wird bei ANSI nicht weiter spezifiziert.
Bei den meisten Betriebssystemen kann man die RSR232 mit „fopen(COM:1“,„rw“);" für die Ein-/Ausgabe öffnen, die Einstellung der Übertragungsparameter muss dann aber über Functionen gemacht werden, welche nicht mehr von ANSI definiert sind.
MfG Peter(TOO)
Die meisten Betriebssysteme sind heutzutage fast komplett in C
geschrieben, daz wurde C ursprünglich einmal entwickelt.
Genauere Angabe zu Unix kannst du bei K&R nachlesen. Assembler
brauchst du eigentlich nur gerade für den Task-Switch, also
das Umladen der Register.
Ich selbst habe schon einige Multitask-Betriebssysteme für µPs
geschrieben und ausser im Modul Cstartup und dem beschriebenen
Taskwechsler (ca 15 Zeilen) findest du keinen Assemblercode.
…
Hallo Peter,
kleines Missverständnis: ich weiss längst, wie das geht (beispielsweise habe ich Keil 8051 C), aber du warst ja derjenige, der hier behauptet hat, das ginge nicht. Anscheinend fällt dir aber ein Widerspruch zwischen deinen Antworten hier überhaupt nicht auf.
Dass die serielle Schnittstelle nur vom BS angesteuert werden kann, ist für einen Wintel-PC vertretbar, im Embedded-Bereich aber unsinnig und führt einen ev. Anfänger nur in die Irre.
Mit oben erwähntem Keil-Compiler kann ich natürlich Assembler linken, notwendig ist das jedoch nicht, auch nicht zum Startup oder für ISR.
Gruss Reinhard
Hallo Reinhard,
kleines Missverständnis: ich weiss längst, wie das geht
(beispielsweise habe ich Keil 8051 C), aber du warst ja
derjenige, der hier behauptet hat, das ginge nicht.
Habe ich eigentlich nicht.
Das Problem ist, dass schnurbi hier einfach immer so in etwa die gleiche Frage hinknallt, aber auf Rückfragen gar nicht reagiert:
http://www.wer-weiss-was.de/cgi-bin/forum/showarticl…
MfG Peter(TOO)
Das Problem ist, dass schnurbi hier einfach immer so in etwa
die gleiche Frage hinknallt, aber auf Rückfragen gar nicht
reagiert:MfG Peter(TOO)
Hallo Peter,
ist mir auch schon öfters passiert, dann versteht er offensichtlich die Antwort nicht. Ich antworte dann halt nicht mehr. Ein solches Verhalten eines Fragestellers ist zwar im Prinzip unhöflich, aber besser als eine endlose Diskussion ohne jedes Verständnis.
Gruss Reinhard
Hallo Reinhard
Sorry dass ich keine Stellung mehr zu diesem Thema genommen habe !
Aber es mußte aus privaten Gründen etwas in den Hintergrund gesetzt werden !
Bin jetzt wieder an dem Projekt dran.
Habe auch das Keil System und möchte über die serielle Schnittstelle Daten einlesen die in Asci Zeichen verschlüsselt sind !
Für diese muß ich dann ein Programm schreiben das die Daten entschlüsselt und in Klartext auf einem LCD Display darstellt !
Die Verschlüsselung ist aber ein wenig kompliziert es ist der Inhalt einer SMS !
Gruß Schnurbi