www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mit Bascom programmieren


Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich würde gerne wissen, wieso man bei der Microcontrollerprogrammierung
Basic oder auch Pascal einsetzt.
Ich will hier keinen Glaubenskrieg entfachen, möchte bloß die Meinung
der Leute hören.

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nehme an, weil sich diese Sprachen leichter als andere erlernen
lassen. :-)

MfG Paul

Autor: akw (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum setzt man den C ein?? Genau so eine Frage...

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil es Leute gibt, die schon gewisse Kenntnisse in einer dieser
Programmiersprachen besitzen (und meinen, die könnte man "einfach so"
auf Mikrocontroller übertagen.).

Gegenfrage: Was spricht dagegen, sie einzusetzen?
Hochsprachen sind grundsätzlich für den Menschen einfacher zu lesen
(auch wenn Hannes und ein paar andere Leute sich mit Assembler wohler
fühlen ;) Assembler ist ja auch schon eine Art Hochsprache im Gegensatz
zu einzelnen Bits...

Autor: jojansen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, ich hatte zu Berufschulzeiten mit Asm den 8085 programmiert. War
ganz ok. Als ich dann vor einiger Zeit anfing mich mit den AVR zu
beschäftigen, hatte ich schnell gemerkt, daß bei ASM der eingesetzte
Hirnschmalz nicht im Verhältnis zum Ergebnis stand. So bin ich auf
Bascom gekommen und war sofort begeistert. Es macht schon Spaß, sich
auf die eigentliche Programmstruktur konzentrieren zu können ohne per
ASM das Rad immer wieder neu erfinden zu müssen, Stichwort Bibliotheken
und viele mächtige Befehle. Was ich bisher gemacht habe, möchte ich um
keinen Preis in ASM realisieren müssen.
Was wohl ein kleiner Nachteil sein kann, ist, daß man mit ASM den Code
schön eindampfen kann (wenn man es kann und Ahnung hat) und bei
Hochsprachen auf die Fähigkeiten des Compilers angewiesen ist.
Was ich wirklich mag, ist die Ideen 'einfach' runterschreiben zu
können ohne mir einen abbrechen zu müssen.
Wenn ich demnächst hoffentlich wieder etwas mehr Zeit zum rumspielen
habe, werde ich mich aber auch mal mit 'c' beschäftigen.
Happy Coding!!!!
:-) Johannes

Autor: Marc Meise (bytewood) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Weil es Leute gibt, die schon gewisse Kenntnisse in einer dieser
>Programmiersprachen besitzen (und meinen, die könnte man "einfach
so"
>auf Mikrocontroller übertagen.)

Bis zu einem gewissen Grad geht das auch...

Wenn man in einem Projekt unter großen Zeitdruck steht und darauf
angewiesen ist möglichst schnell zu entwickeln, dann kann Bascom/BASIC
schon ne Hilfe sein (leicht zu erlernende Syntax - wenn man sie eh
schon kennt - BASIC eben!, fertige Libs für LCD, UART, uvm.).
Da kann man ein Programm recht schnell "runterrotzen".

Ob man da den Controller wirklich kennenlernt - ist dabei eine gaaanz
andere Frage.
BASCOM/BASIC ist schon so weit von der Hardware weg, dass das
Verständnis für den Controller in den meisten Fällen auf der Strecke
bleibt. (Meine Meinung dazu - ich progge in Bascom und C)

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bascom ist an sich ziemlich brauchbar. es sind viele funktionen zum
umgang mit zahlen und ausgaben über rs232 dabei. LCD ansteuerung etc.
und weil das preis/leistungsverhältniss und der support stimmt. klar c
ist kostenfrei, aberfür den anfang ist basic einfach einfacher

Autor: Carsten Pietsch (papa_of_t)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab schon in mehreren Sprachen inkl. Assembler und Maschinencode PCs
und uCs programmiert - Alles hatte so in bestimmten Bereichen seine
Berechtigung: Assembler meist, wenn das Programm SEHR schnell oder SEHR
klein sein muß, Hochsprachen eher für PCs. BasCom ist stark, wenn man
schnell fertig werden muß und für's Prototyping. Man muß nicht ewig
nach der richtigen Bibliothek suchen und mit 1 bis 2 Programmzeilen
kann man ein LCD ansteuern oder eine Variable ins EPROM schreiben. Ein
kleiner Nachteil in meinen Augen ist die Tatsache, daß es etwas unklar
ist, wieviel Stack / frame man für bestimmte Funktionsaufruf-Tiefen
braucht.. aber das gilt nciht nur für BasCom.

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich sehe halt die ganze Sache durch die Brille eines C-Programmierers,
da kommt mir die Syntax von Basic oder Pascal einfach grotesk vor,
sieht irgendwie zusammengeschustert aus.

Autor: Carsten Pietsch (papa_of_t)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mehrere Brillen sind manchmal von Vorteil, z.B. um ein Status-Flag
abzufragen.. :-)

Was liest sich besser oder sieht grotesker aus:

1) while(!(SPSR & (1<<SPIF))){};

oder

2) Do : Loop Until SPSR.SPIF = 1

oder (das geht auch direkt in Bascom, läuft aber schneller)

3)    !loop1:
      !sbis spsr,spif
      !rjmp loop1

Autor: dr. know (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bitwait SPSR.SPIF, set
müsste in bascom doch auch gehen

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andi:
Das war wohl ein Eigentor...

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
O.K. was mir in C gefällt sind die Pointer. Wie löst man das Problem mit
Basic?

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1) while(!(SPSR & (1<<SPIF))){};

oder

2) Do : Loop Until SPSR.SPIF = 1

Aber, was verbirgt sich hinter dieser Schleife?

Auf einem PC mag das egal sein, aber auf der Controllerebene...
ich weiss nicht. 90% meiner Programme sind Echtzeitprogramme mit ein-
und ausgehenden Daten. Da muss man auch mal sehen, wie Bascom die Zeile
2 umsetzt. Wenn es rein ums leserliche geht, wäre Pascal eine
Alternative. Hat sich bei uns aber nicht durgesetzt.
@ Carsten, zeig uns mal das Kompilat (heisst das so?).

MW

Autor: Carsten Pietsch (papa_of_t)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pointer: Es kommt zwar auf den Zweck an (.. den ich bei Dir nicht
kenne), aber da gibt's in Bascom geeignete, zielführende Befehle:
LoadAdr, LoadLabel, Cpeek u.a. / oder man benutzt ein Array und greift
mit einer Indexvariable darauf zu:

Dim myArray(256) as Byte
Dim index as Byte

index = 1
myArray(index) = &HFF

usw.

Ist eben auch 'ne Geschmackssache..

Kompilat: es kommt ein Hexfile 'raus, da hab ich noch nie
'reingeschaut. Bei 3) ist klar, was 'rauskommt, ist ja Assembler. Bei
2) weiß ich es nicht genau, aber ein Durchlauf dauert geschätzt nicht
mehr als 20 Takte - kann also soo wild aufgebläht nicht sein.. Wenn Du
es untersuchen willst, kannst Du 'ne kostenlose Demo von Bascom
'runterladen und beobachten, wieviele Takte vergehen, Hexfile
analysieren usw.

Autor: zotos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich programmiere Mikrocontroller (AVR) in C da ich C gewöhnt bin und die
Hilfe und Dokumentationen dafür sehr umfangreich sind, man hat Beispiele
in hülle und fülle--> das macht C für mich zu der einfacheren Sprache.
Auf dem PC aus Gründen die mit Faulheit bezeichnet werden könnten
benutze ich VB bzw. VBA da MS Office nun mal nicht mit C sondern mit
VBA ausgestattet wurde. Was mich zu der Frage bringt: Warum ist
OpenOffice mit so einem Basic verschnitt ausgestattet worde und nicht
mit C?

Gruß
zotos

Autor: joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo, muss ein programm schreiben um mit einer siemens photo diode eine 
lichthelligkeitsmessung durchzuführen,(LUX)

hat jemand eine ahnung davon? wie ich den sensor programmiert bekomme? 
arbeite mit einem atmega8535

Autor: Marc Meise (bytewood) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, per ISP - was den Controller angeht.
Keine Ahnung, wie man eine Diode programmiert :-)

Autor: Besucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Zu Frage nach dem Compilat,

http://www.roboternetz.de/wissen/index.php/Codever...

Hier hat schon jemand versucht C gegen Basic zu vergleichen...

Leider waren die Basicleute nicht in der Lage alle Beispiele 
auszufüllen,
aber ich glaube es reicht das eine Beispiel aus.

Gruß Sebastian

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.