- 3D-Druck Einstieg und Tipps         
Seite 4 von 7 ErsteErste ... 23456 ... LetzteLetzte
Ergebnis 31 bis 40 von 62

Thema: Wollt mich mal Vorstellen...

  1. #31
    Benutzer Stammmitglied
    Registriert seit
    15.07.2004
    Ort
    München
    Alter
    40
    Beiträge
    33
    Anzeige

    E-Bike
    Ich vergess jedesmal mich einzulogggen

  2. #32
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Hi,

    ich habe auch mal einen C-Control von Conrad benutzt. Der hat hervorragend funktioniert und ist für Anfänger gut geeignet, da die Peripherie dabei ist und man sich nicht mit den einzelnen PINs rumschlagen muss. Ich habe damals die grafische Programmiervariante gewählt. Das "programmieren" damit war ein Kinderspiel.
    Nur war es aus zwei Gründen bald nicht mehr schön:
    - Der Controller kostet Unmengen
    - Man hat nur die Möglichkeiten, die das Board bietet.

    So bin ich nun auf AVR umgestiegen. Ich habe ein paar AT90S2313 geholt und angeschlossen, einen ISP-auf-Parallelumsetzer gebastelt und schreibe die Programme mit PonyProg. Das funktioniert genauso einwandfrei.
    Nun zur Software: Ich habe mich in Assembler versucht (i386-Assembler kann ich gut), aber das war nicht so einfach.
    Dann probierte ich mal Bascom und alle geschriebenen Versuchsprogramme liefen auf Anhieb!!
    Fazit: Für Anfänger ist Bascom sehr zu empfehlen.

    Nun steige ich aber wieder auf Assembler um, da nicht viel möglich ist, weil Bascom sehr große Programme erzeugt.

    Bei der Assemblerprogrammierung brauche ich im Hintergrund immer das Datenblatt für den µC von ATMEL, da stehen alle Instructions drinnen, die der µC versteht.
    Zum Compilieren verwende ich übrigens die kostenfreie Entwicklungsumgebung AVR-Studio 3.5 von ATMEL. Ein Programmiervorgang läuft dann so ab: ASM-Programm texten, compilieren drücken, (evtl. Fehler beseitigen und erneut compilieren) Das Programm im PonyProg laden, "write" drücken und fertig.

    Viele Grüße,
    thewulf

    PS: Es ist möglich mit Bascom Inline-Assembler zu benutzen:
    Code:
    If PortA = &H10 Then
    $asm
    	ldi r16, 0b00001000
    	out portb, r16
    $asm end 
    End If
    Einfach mal in der Hilfe von Bascom nachschauen.
    (Bei dem Anfangs- und Endstatement ($asm) bin ich mir grad nicht so sicher...

  3. #33
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.06.2004
    Ort
    Düsseldorf
    Alter
    40
    Beiträge
    158
    Hmmm also Endos...

    Ein Mikrocontroller ist nicht dafür gedacht großartig mit Zeichenketten (Namen, Wie das Wetter ist etc...) zu hantieren. Das geht zwar durch Umwege, ist aber aus Effizienzgründen nicht nötig.

    Also... Ein Mikrocontroller, wie die C-Control oder AVR ist speziell darauf ausgelegt Werte an einem Analogen oder Digitalen Port zu empfangen oder zu setzten. Beispielsweise kann man über einen Analogen Port über einen Sensor die Temperatur abfragen oder durch den Analogen Port die Spannung für einen Motor, und damit die Geschwindigkeit erhöhen. Ein Digitaler Port kann die Werte 0 und 1 (Off und On) annehmen. So kann man z.B. abfragen, ob eine am Port angeschlossene Taste gedrückt wurde etc.

    Für den den Anfang würde ich Dir empfehlen: Kauf dir die C-Control I (nicht die C-Control II!!!), entweder die jetzige für rund 50 € oder die neue M Unit 2.0 (hier brauchst Du aber noch einen Programmieradapter und ein spezielles Kabel).

    Beim Kauf der C-Control ist die Programmiersoftware dabei (ansonsten kannst du mich ja mal fragen; Die Software ist nämlich kostenlos).

    Die C-Control wird standardmäßig in CCBasic programmiert. Das ist ein recht einfacher Basic Dialekt. Sieht ein wenig aus wie Grundschulmathematik. Daneben gibt es noch irgendwo im Netz einen C Compiler für die C-Control (und ich bin grade eifrig an einem neuen CCBasic Dialekt am basteln ;o)). Aber fang mal lieber mit CCBasic an. Besser mit CCBasic als mit QBasic, da QBasic nur für PCs ist und CCBasic nur für µCs.


    Noch was zu C und Basic im allgemeinen.

    Das C schneller ist als Basic ist wohl ein Traum Gedanke der C-Welt (besonders der C++'ler). Basic muss nicht zwingend langsamer sein. Basic ist auch nicht zwingend primitiver als C oder C++. Es hängt davon ab, welchen Basic Dialekt man benutzt. VB 6.0 war recht ausgereift (von VB.Net kann ich noch nichts sagen). Das man mit VB 6.0 nicht so dolle Spiele programmieren kann wie mit C++ ist klar, weil das Konzept von VB ein ganz anderes ist: Es geht um die schnelle und Übersichtliche Entwicklung von Tools und Programmen zum Arbeiten oder für die Office Integration.

    Es gibt eine Vielzahl von Basic Dialekten, die direkt beim Kompilieren in Assembler oder Maschinensprache umgewandelt werden.

    Auf der C-Control wird Basic nicht in Maschinensprache kompiliert, sondern in sog. Tokens. Das Umsetzen des Programmcodes in Tokens ist für den Compiler fast genauso komplex wie das Umsetzen in Maschinencode. Da die Tokens vom Betriebssystem der C-Control verarbeitet werden sind sie langsamer, nehmen aber bedeutend weniger Platz im Speicher weg. Außerdem wurde auf der neuen M Unit 2.0 die Ausführungsgeschwindigkeit stark erhöht (32 Mhz!).
    Zum Thema Hochsprache: C wird allgemein als Hochsprachen-Assembler bezeichnet, da es besondern hardwarenah ist. Genau diese Hardwarenähe ist aber ein entscheidendes Kriterium gegen eine richtige Hochsprache. U.a. gibt es auch aus diesem Grund C++. Das Problem von Basic ist aber vielmehr, dass es keinen einheitlichen Standart wie ANSI-C gibt.

    Gruß,

    Stefan
    http://www.tappertzhofen.eu/bpp2

    Basic++ Programmiersprache
    für den C-Control I Mikrocontroller

  4. #34
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.06.2004
    Alter
    36
    Beiträge
    234
    Wenn C keine Hochsprache wär, wär C++ auch keine...
    Alles was man in C machen kann, geht auch mit seinem Nachfolger.

    Man kann es aber schon als Hochsprache ansehen, da man ja nicht zwingend hardwarenah programmieren muss.

    Und dass man mit C wesentlich effektiveren Code als mit Basic produzieren kann ist auch Tatsache...

    Allein wenn man mal versucht ne Primzahlberechnung in VB zu machen, danach mit C++ mit dem selben Algorithmus merkt man dass die C(++) Version ca 10mal schneller ist...

  5. #35
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.06.2004
    Ort
    Düsseldorf
    Alter
    40
    Beiträge
    158
    Zitat Zitat von Rodney
    Wenn C keine Hochsprache wär, wär C++ auch keine...
    Alles was man in C machen kann, geht auch mit seinem Nachfolger.
    C++ ist nicht C. C stammt von der Programmiersprache B ab, die absolut Hardwareabhängig war. Basic dagegen wurde von Anfang an her nicht systemnah programmiert. C++ wurde dann erst von wenigen Jahren mit einem Ähnlichen Standart versehen wie C. Im Gegensatz zu C enthält C++ Konstrukte, die nicht mehr durch Hardware darstellbar sind (Klassen, Objekte, Vererbung, etc...). Das eigentliche C dagegen war eine weiterentwickelte Form von Assembler. Schau dir mal B und BCPL an.

    Wikipedia:

    "BCPL (Basic Combined Programming Language) ist eine um 1967 von Martin Richards entwickelte, kompilierte, systemnahe Programmiersprache, abgeleitet von der Combined/Cambrige Programming Language CPL. Es ist eine Sprache aus der ALGOL-Familie."

    Verwechsel jetzt bitte nicht systemnah und Plattformunabhängig! Ich glaube, dass ich das teilweise gemacht habe in meinem Beitrag oben.

    [quote="Rodney"]Und dass man mit C wesentlich effektiveren Code als mit Basic produzieren kann ist auch Tatsache...[/q]

    Nein das stimmt nicht. Du bist geblendet von Microsoft's Visual Basic. Im übrigen würde man eher VB mit C++ oder C# als mit C vergleichen. Das wirkliche C wird heute fast nur noch in der System (Betriebssystem-) Enwicklung verwendet.

    Es ist ein leichtes dir einen Compiler für einen Basic Dialekt zu programmieren, der schnelleren und kleineren Code erzeugt als Turbo C. Es hängt immer davon ab welchen Compiler du für welchen Zweck verwendest.

    Im übrigen muss man Schnelligkeit von Code immer in Relation zur Entwicklungszeit und Transparenz sehen. Jeder C Code würde wie eine lahme Ente gegen Assembler aussehen. Aber was bringt mir das, wenn ich nur einen blöden Text auf dem Bildschirm ausgeben will.

    Zum Thema C bei Robotern: Bist du jemals dazu gekommen, dass die Ausführungsgeschwindigkeit deines µC noch grade dazu reichte den Handlungen deines Roboters gerecht zu werden? Wohl eher nicht. 99% der Zeit verbringt der µC damit nichts effektives zu machen. Da macht es keinen großen Unterschied, ob man einen rel. schlechten Basic Compiler oder C-Compiler verwendet.

    Zitat Zitat von Rodney
    Allein wenn man mal versucht ne Primzahlberechnung in VB zu machen, danach mit C++ mit dem selben Algorithmus merkt man dass die C(++) Version ca 10mal schneller ist...
    Und dann mach es mal mit Assembler!

    Noch eine Mär, die hier widerlegt werden sollte:

    Viele meinen Basic wäre langsamer als C, weil es in C programmiert wurde und C wäre langsamer als Assembler weil es in Assembler programmiert wurde.

    Mal abgesehen davon, dass C wurde meines Wissens nach wohl eher in Fortan o.ä. programmiert wurde, stimmt diese These für Compiler nicht. Ein Compiler in Basic muss doch nicht langsameren Code erzeugen als C, nur weil er in C programmiert wurde (außerdem gibt es Basic schon länger als C). Wir beschäftigen uns ja mit Compilern und nicht mit Interpretern, wo das zutrifft (siehe Java).

    Fazit: Die Geschwindigkeit eines durch einen Compiler erzeugten Codes hängt vom Compiler und nicht von der Sprache ab. Außerdem kann man mit jeder Sprache guten und schlechten Code programmieren. Und hier fängt es schon an!

  6. #36
    Benutzer Stammmitglied
    Registriert seit
    15.07.2004
    Ort
    München
    Alter
    40
    Beiträge
    33
    Hi Tappi,
    Danke für deine Mühe.
    Du meinst ich sollte mir die C-Control kaufen? Ich dachte da eher an die RN Control, was meinst du?

    mal was anderes, was mich sehr stark interessiert und fasziniert ist die Sprachsteuerung, wie läuft das denn ab? nehme ich meine stimme auf bzw. spreche ich einen Text wie : text a "fahr durch das Zimmer" ? und programmiert man es dann in der Form: "if text a then..."
    oder läuft es über ein worterkennungssystem der die Worte in den einzelnen Buchstaben erkennt und dann mit if und then handelt?

    MfG: Endos

  7. #37
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.06.2004
    Ort
    Düsseldorf
    Alter
    40
    Beiträge
    158
    Ich kenne die RN Control nicht, aber der Vorteil der C-Control ist ihr einfaches Handling und die vielen Infos dazu im Netz (und in diesem Forum). Zum Thema Leistung: Die neue C-Control M Unit 2.0 hat stolze 32 Mhz... das ist schon ganz ok

  8. #38
    Neuer Benutzer Öfters hier
    Registriert seit
    13.07.2004
    Beiträge
    9
    Aber gerade das Handling ist bei der RN-Control günstiger. Sensoren, Motoren, Aktoren können direkt über Steckkontakte angeschlossen werden, Taster und LED´s sind vorhanden. Bei der C-Control braucht man Erweiterungen dafür.
    Beispielprogramme und Infos zu RN-Control gibt es hier ja auch. Noch nicht so viele wie für C-Control, aber das könnte sich bald ändern zumal RN-Control offenbar inzwischen von vielen im Forum genutzt wird.
    Die M-Unit 2 hat den Nachteil das ein eingebauter Basic-Interpreter die 32 Mhz wieder zunichte macht. So ist diese trotz 32 Mhz wesentlich langsamer als die RN-Control in Basic, wodurch die Anwendungsmöglichkeiten etwas eingeschränkt werden. Wenn Conrad den Basic Interpreter durch einen modernen Compiler wie Bascom oder GCC ersetzen würde, dann wäre der Leistungsunterschied deutlich geringer.

    Was noch für die RN-Control spricht: Die Programmiersprachen Basic oder C haben alle ein wesentlich größeren Befehlumfang und werden ständig noch ausgebaut und gepfegt.
    i2C-, Servo-, SPI-, 1Wire-,Stringoperationen-, zahlreiche Interrupt-Befehle usw. sind in Bascom-Basic schon enthalten. Das sind Dinge die man irgendwann sicher mal braucht.

  9. #39
    Benutzer Stammmitglied
    Registriert seit
    09.08.2004
    Alter
    46
    Beiträge
    77
    hi Endos
    hab mal ne frage wie willst du die unter der seite die du oben mal geschrieben hast qbasic gelernt haben der crash kurs ist für html.
    o-bizz.de

    und das was du da geschrieben hast sind ganz normale befehle für normal dos und für keine pics oder avr.
    für AVR und pics gibts andere befehle die man aber mit ähnlichen befehelen aufrufen kann

    such du etwas in google rum dann müsstest du bestimmt was finden !!!
    ---

  10. #40
    Benutzer Stammmitglied
    Registriert seit
    09.08.2004
    Alter
    46
    Beiträge
    77
    aber ich würde dir raten wenn du pics programmieren willst die dann zum steuern von robos genutzt werden sollen MBLAB zubenutzen dazu müsstest du zwar assembler lernen aber unter http://www.sprut.de kann man sehr viel lernen. viel spaß bei der programmierung !!
    ---

Seite 4 von 7 ErsteErste ... 23456 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test