Hallo,
ich will einen ADC in c control pro programmieren. Doch es ist mir ein
Rätsel was char str (40) bedeuten soll. es kann nichts mit dem Port oder
dem Portbit zu tun haben. Kann mir jemand verraten was das bedeutet ?
Vielen Dank im voraus.
Alex Maier
Kannst du vielleicht mal was zum Kontext sagen, oder ein Codebeispiel
bringen?
Wie sollen wir denn deine Frage beantworten, wenn du keinerlei
Informationen lieferst?
Gibt es zu diesem "c control" keinerlei Dokumentation?
Das dürfte eine Variablendeklaration zu sein, ein Array aus "Char", das
Platz für 40 Zeichen bietet. Wird es für Zeichenketten genutzt, muss die
terminierenden Null berücksichtigt werden, es bleiben also 39
"Nutzzeichen".
In "C" wird vieles gesagt. In manchen Fällen geht es darum, dass
überhaupt etwas "gesagt" wird.
Oder anders ausgedrückt: Das Gesagte hängt oft, muss aber nicht,
zusammen.
Char str [ 40 ]; legt eine Variable für Zeichen mit einer maximalen
Länge von 40 Zeichen an. Deren Name ist "str" - sehr einfallsreich.
Diese wird möglicherweise an anderer Stelle benötigt.
Alex Maier schrieb:> Also kann ich nach der 0 noch 40 Zeichen benutzen ?
Nein. Du kannst dir aber ein Buch aus der örtlichen Bibliothek holen und
C-Grundlagen lernen. Ohne Codebeispiel weißt doch keiner hier, was
dieser string macht bzw. wozu er benutzt wird. Alles, was darüber hinaus
geht ist reine Spekulation.
Jetzt mal ganz direkt gefragt:
Hast du schon jemals programmiert? Wenn ja, in was?
Nur damit wir beurteilen können, welche Grundlagen hier noch fehlen.
Alex Maier schrieb:> Also das ist jetzt ohne char str[40]
Klasse. Großes Kino... Der Code liest also den ADC aus und setzt in
Abhängigkeit eines eingestellten Limits eine LED, oder eben auch nicht.
Warum fragst du, was dieser string macht, wenn dann in deinem
Beispielcode dieser String nirgendwo auftaucht? Wie sollen wir deine
Fragen beantworten, wenn du von uns erwartest, alles mit der Glaskugel
zu erraten?
Troll? Falls nicht: Bitte, mach irgend ein beliebiges C-Tutorial durch
und lern erstmal die Grundlagen der Sprache bevor du versuchst etwas zu
programmieren. Deine Frage sollte sich nach 1-2 Tagen gemütlichen lernen
von selbst beantworten.
Alex, man muss Dir hier, denke ich, eine Wahrheit sagen, die
frustrierend für Dich sein wird.
Das ganze Thema "Programmieren" ist bei weitem komplizierter als Du Dir,
wie ich das wahrnehme, im Moment vorstellen kannst. Es ist notwendig,
das Du eine Reihe von Zusammenhängen lernst, ehe Du unsere Antworten
überhaupt verstehen kannst. Das ist möglich. Kein Hexenwerk.
Aber das geht nicht in ein paar Minuten. Auch geht es nicht wenn man
sich nur auf einen mikroskopischen Ausschnitt bezieht, wie Du es hier
tust.
Lerne C. Hol Dir ein Buch, z.B. online von Galileo hier:
http://openbook.galileocomputing.de/c_von_a_bis_z/
Wenn Du diese Arbeit nicht auf Dich nehmen willst, entscheide Dich so.
Das
ist in Ordnung.
Aber bei Deinem Wissensstand läuft es darauf hinaus, das wir Deine
Problem für Dich lösen. Dazu sind aus einer Reihe von Gründen kaum Leute
bereit. Ich auch nicht.
>Weißt du zufällig, wo ich die c control pro lernen kann.
Lege erstmal die C-Control beiseite und lerne C am PC. Bei einem
Mikrocontroller stellen sich eine Reihe Probleme die eigentlich nicht
unmittelbar mit C selbst zu tun haben.
>Ich war schon mal in einem und habe nichts dazugelernt.
Ich nehme an, Du warst in einem Kurs. Richtig? Nun, versuche einmal zu
analysieren, was für Dich nicht gepasst hat. Das ist einfach so. Jeder
lernt anders. Aber wenn Du weiterkommen willst, musst Du Dich damit
auseinandersetzen.
Es war ein kurs. Ich will einfach nur Roboter programmieren. Und das mit
der gekürzten form von c. Eies will ich noch wissen: Ist mei Programm
richtig?
was verstehst du unter richtig? Ob der Syntax prinzipiell ok ist siehst
du daran, dass es kompiliert. Ob es aber das macht was du möchtest, wird
dir hier keiner beantworten können.
Wir wissen überhaupt nicht was dein Programm können soll!
Ok, dann sehe ich das so, dass Du schon eine Entwicklungsumgebung hast,
mit der du schnell zu einem Erfolg kommen kannst.
Wie einige weiter oben schon bemerkt haben, solltest Du jetzt noch
lernen, wofür diese einzelnen Zeilen Deines Programms stehen.
Das Programmieren von Robotern ist ein schönes Ziel.
Du wirst dahin nur gelangen, wenn du die Programmiersprache C
beherrschst.
Es gibt viele kleine Teilziele, die Du Dir stecken kannst,
bis ein Roboter an die Reihe kommen wird.
Das wirst Du aber schaffen, das haben schon ganz andere Leute vor Dir
geschafft.
@Alex
Noch ein Tipp.
Wenn Du nicht weist, was es mit einer Variablen oder auch mit einer
Funktion auf sich hat: Suchen - wird eine normale Variable nicht
verwendet, so ist sie oft überflüssig, natürlich nicht immer.
Überflüssige Variable entstehen entweder beim Kopieren und
anschließendem, unvollständigen Löschen oder beim Probieren wenn der
zugehörige Teil später verworfen wird.
Letzteres liegt vor allem daran, das Programmierer Konstanten und
Variablen, aus Gründen der Übersichtlichkeit, am Anfang des Moduls (oft
Datei) anlegen, die Funktionen aber viel weiter unten schreiben.
Dein Beispiel verwendet den A/D-Wandler, hier zum Schalten.
Möglicherweise wird im nächsten Beispiel der Messwert ausgegeben. Hierzu
wird ein Zwischenspeicher, für die Textdarstellung (lesbare Zeichen
meist ASCII) benötigt. Str könnte dies sein.