Der große Vorteil bei Bascom sind die vorgefertigten Library-funktionen, zumindest so lange die Funktion ausreicht.
Wie schwer eine Software UART in ASM zu programieren ist, hängt ganz von den Anforderungen ab. Eine Software UART nur zum senden ist z.B. reicht einfach in ASM zu machen, vor allem wenn man es mit Warteschleifen über die Laufzeit macht. Eine Software UART auch zum Empfangen ist schon schwieriger - allerdings kann man für solch ein Standardproblem in der Regel auch fertige Lösungen als Beispiel finden. Da muss man dann bei ASM in der Regel noch einiges Anpassen und übertragen (z.B. andere CPU Register und den Chip Typ), ganz so einfach wie in Hochsprachen lässt sich Code meist nicht wiederverwenden.
Kommt viel drauf an, wie sehr die 80 Euro-Piaster an deiner Substanz nagen. Wenn's schwer fällt, ist die Sache mit C sicher attraktiv.
Übrigens: Keine Programmiersprache hat ein Gebot wie:"Du sollst keine anderen Sprachen neben mir haben"
Nicht Assembler ODER Bascom ODER C ODER ... sondern UND
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
So meinte ich das nicht. Natürlich kann man mit Bascom Projekte jeder Größe aufziehen, aber ich denke die Profis benutzen kein BASCOM. Ich meinte das mit Bascom Leute programmieren, die eine leichter verständliche bzw. nicht so abstrakte Programmiersprache nutzen möchten, wobei die Effizienz keine Rolle spielt. Da sie sich nicht intensiv oder regelmäßig mit dem Programmieren von Mikrocontrollern befassen und sich deshalb schnell und unkompliziert in eine Programmiersprache einarbeiten wollen.
Bernd_Stein
CRS Robotics A255, TRONXY X3A, TinkerCAD, c´t-Lab, ProfiLab Expert, AVR8 Assembler
Überhaupt schon mal mit Bascom intensiv gearbeitet?....
All diese Beiträge wie "C ist schneller wie Bascom" sind Blödsinn. Die C Jonnys sind nur auf ihre Kryptographie stolz. Mit Bascom kann man genauso gut große und vor allem zeitkritische Projekte erstellen wie mit jeder anderen Programmiersprache. Ich habe mit ASM angefangen, Hab mich lange über Kompatibilitätsproblemen von WinAVR geärgert und bin letztendlich bei Bascom geblieben weil ich meine Projekte damit unkompliziert, schnell und verständlich erstellen kann ohne lange irgendwelche Bibliotheken zu googlen. Mir soll mal ein C Spezi erklären was so zeitkritisch sein soll das da Bascom nicht mitkommt.
Gruß
Matthias
Zeitkritisches wird in beiden Sprachen am besten per Inline ASM realisiert. Anfangs hatte Bascom teile mitkompiliert, welche gar nicht benötigt wurden und so wertvollen Platz belegt. Das ist seit den jüngeren Versionen nicht mehr. Das Hauptproblem ist, dass Bascom bei einer ISR entweder alle Register sichert, oder keines und man dann die genutzten zu Fuß sichern muss. Jetzt zum Problem: Man bekommt leider nicht angezeigt, welche Register die ISR nutzt. Also muss man bei zeitkritischen ISR die Register zu Fuß sichern und die restliche Sub per Inline ASM realisieren. Bisher habe ich das eigentlich nur bei meinem Logikanalyzer gebraucht.
Dann noch eine zuverlässige automatische Stackgröße und alles ist im Lot.
Bei den meisten Projekten ist das jedoch nicht von großer Bedeutung und man lässt in der ISR einfach alles sichern und setzt große Stacks. Wozu RAM ungenutzt lassen?
Meine Projekte laufen unter Bascom alle ausreichend schnell. Auch wenn ich hier und da zur Sicherheit auf 16 MHZ hochgegangen bin und hinterher mit NOPS wieder gebremst habe...
Ich bin froh, dass ich damals Bascom gekauft habe. Auch der Support im MCS Forum ist recht zuverlässig und individuell.
Hin und wieder passe ich C - Code von anderen an meine Bedürfnisse an. Nichts desto trotz bin ich dann froh, wenn ich kein Include, keine Klammer und kein Semikolon vergessen habe und alles läuft, so wie ich es mir vorstelle.
Ich bin mir sicher, dass man in C genau so guten wie auch schlechten Code wie in Bascom erstellen kann. Da ich mit Basic aufgewaschen bin, ist das sozusagen meine Muttersprache, welche ich recht gut beherrsche. C ist dann wie eine Fremdsprache, welche ich nur selten nutze und so wesentlich länger brauche. Sei es, weil es eine andere Grammatik benötigt, oder ich spezielle Dinge im "Wörterbuch" nachschlagen muss.
Wäre damals auf meinem C64 und dem Amiga kein Basic, sondern C gewesen, wäre es wohl anders herum...
Wenn das Herz involviert ist, steht die Logik außen vor! \/
Ja gut...
wo soll ich jetzt Bascom kaufen ? direkt bei mcs Elektronics ?
wo habt ihr's gekauft?
Ich habs von www.ribu.at.
Grüße
Thomas
Lesezeichen