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
Alex Maier schrieb: > Kann mir jemand verraten was das bedeutet ? kann es sein das es ein char str[40] ist? zeig doch mal bitte das orginal.
Kannst du vielleicht mal was zum Kontext sagen, oder ein Codebeispiel bringen? Wie sollen wir denn deine Frage beantworten, wenn du keinerlei Informationen lieferst?
Es heißt wirklich Char str[40]. Aber wozu brauche ich diesen Befehl . Ist nicht alles mit Adc_VREF_BG gesagt ?
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.
#define LED1 0 void main(void) { word Limit; word ADC_Wert; Port_DataDirBit(LED1,PORT_OUT); Port_WriteBit(LED1,PORT_OFF); ADC_Set(ADC_VREF_BG, ADC0); Limit=1000; while (1) { ADC_Wert=ADC_Read()*5/2; if (ADC_Wert<Limit) { Port_WriteBit(PORT_LED1,PORT_OFF); } else { Port_WriteBit(PORT_LED1,PORT_ON); } AbsDelay(1); } }
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?
Das ist es ja. Ich glaube ich brauche char str[], weil ich dieses Programm schon einmal übertragen habe .Es hat aber nich funktioniert
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.
Weißt du zufällig, wo ich die c control pro lernen kann. Ich war schon mal in einem und habe nichts dazugelernt.
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!
Beim ADC0 ist ein Poti angeschlossen. Falls es mehr als 1 V durchbringt, leutet die LED falls nicht, dann nicht
Womit hast Du das Programm geschrieben und wie wird das Programm auf Deinen Controller gelangen ?
Mit der c control pro und es gelangt mit übertragen ->starten auf den controller
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.