Page 2 of 2
Posted: Thu 21 Aug, 2008 11:18 pm
by floh
Selbst C-Control Basic überfährt JEDES 4x40 LCD
also mit einem 2x16 habe ich das mal gemacht (die kleine, alte C-Control). Funktioniert einwandfrei aber man muss da recht viel Code hacken weil es keine Library gibt (oder damals zuindest nicht gab). Mit meinem Programm hätte ich jedes HD44780 Display, auch 4x40 Zeichen beliebig ansteuern können.
Ich würde für Anfänger und wenn das Projekt nicht extremst komplex ist auch erst mal etwas in Richtung Basic oder Pascal empfehlen. Wer mit C ohnehin schon zurecht kommt soll C nehmen. Assembler kann man später immer noch dazu lernen wenn man hohe Performance oder sonstwas braucht das ohne nicht geht.
Anfang
Posted: Fri 22 Aug, 2008 6:20 am
by guido
Man muss ich über eines im klaren sein:
fange ich mit Bascom/Basic an bin ich mit Atmel AVRs "verheiratet"
Klar , geht schnell und geht schon.
Will ich aber mal mehr muss auch auf GCC oder andere ausweichen
und fange dann wieder ganz von vorne an, bin aber durch Bascom
"verseucht" und die Syntax von C ist immer noch ein Geheimnis.
Noch ein Vorteil : GCC ist kostenlos, dazu AVR Studio und einen AVR
ISP MK2 und man ist gut dabei denke ich.
Muss jeder selber endscheiden.
Posted: Fri 22 Aug, 2008 9:14 am
by icelase
Weis nicht was ihr gegen C habt...

aber ich komm damit rechgut klar.
Gut ich konnte davor auch schon etwas C/C++ ... da muss man sich dann nur mit den Bit Operatoren außeinandersetzen.
Bin mit AVR-Studio + avr-gcc recht zufrieden bisher.
Bibliotheken gibts auch genug und umschreiben geht auch ziemlich einfach (z.B. bei der LCD lib für 4x40er displays )
Re: Beratung Mikrocontroller
Posted: Fri 22 Aug, 2008 11:07 am
by random
Gento wrote:Die Anfangsfrage war :
[quote="
Und zwar hab ich vor mittels eines Mikrocontrollers ein 40x4 LCD mit zwei HD44780 kompatiblen Controllern ( also Standard zeuchs ) ansteuern.
Allerdings bin ich zwar Fachinformatiker, aber habe keine Ahnung von Mikrocontrollern ( geschweige denn Assembler

)
Welche Plattform würdet ihr einem blutigen Anfänger empfehlen?
Mit Arm + C anzufangen ist wohl die Dümmste Beratung.
Selbst C-Control Basic überfährt JEDES 4x40 LCD.
Wenn jemand meint Pascal oder Basic sei schlecht lesbar.Der meint wohl ein Program muß kryptisch / schlecht lesbar sein. :=C
Wie John schon auch meinte und auch ich , Bascon ist eine gute Wahl dem Zwecke.
lg Gento[/quote]
Meine Antwort war auch "AVR und C", und habe einen zweizeiler zum Einschalten jeder zweiten Lampe an einem Port beigelegt, um die Einfachheit von C zu zeigen.
Regards,
/r.
Posted: Fri 22 Aug, 2008 11:08 am
by random
floh wrote:Selbst C-Control Basic überfährt JEDES 4x40 LCD
Die Dinger laufen sogar an nem lahmen I2C Bus. Mach ich gerne, um Leitungen zu sparen.
Regards,
/r.
Re: Anfang
Posted: Fri 22 Aug, 2008 11:15 am
by random
Guido wrote:Man muss ich über eines im klaren sein:
fange ich mit Bascom/Basic an bin ich mit Atmel AVRs "verheiratet"
Klar , geht schnell und geht schon.
Will ich aber mal mehr muss auch auf GCC oder andere ausweichen
und fange dann wieder ganz von vorne an, bin aber durch Bascom
"verseucht" und die Syntax von C ist immer noch ein Geheimnis.
Noch ein Vorteil : GCC ist kostenlos, dazu AVR Studio und einen AVR
ISP MK2 und man ist gut dabei denke ich.
Muss jeder selber endscheiden.
Das Problem ist, dass man sich mit dem ganzen BASIC-Kinnerkram den Stil versaut. Fängt man gleich mit C an - und glaubt mir, es ist wirklich nicht schwer - lernt man von Anfang an,
- sauber zu programmieren
- sich zu überlegen, was man macht
- strukturiert und überlegt Software zu schreiben
AVR:
Steckbrett, Quarz, 22pf, ein paar sonstige Bauteile, ein paar Drähte an den Parallelport wenn man noch einen hat, und fertig. PonyProg zum Proggen, avrgcc und Notepad++ oder von mir aus AVR Studio.
Kostenpunkt rund 10Euro
Vor allem "investiert" man mit dem Lernen von C in seine Zukunft, wohingegen man BASIC höchstens noch als Bürotippse zum Skripten von Word&Excel verwenden kann.
Aber in der heutigen Überflussgesellschaft wird ja nur noch verschwendet, siehe Java (oh ich liebe JavaLang Errors in Quartus SOPCBuilder!) und C# und Co. *schimpf*
Regards,
/r.
Posted: Fri 22 Aug, 2008 11:47 am
by tschosef
BASIC höchstens noch als Bürotippse zum Skripten von Word&Excel verwenden kann.
tip tip... tip tip tip.... tip....

tip he-laserscan... tip tip...
Gruß derweil
erich
Posted: Fri 22 Aug, 2008 11:55 am
by icelase
Ich glaub Bascom kann man nicht mit VisualBasic vergleichen, oder?
Meine erste Sprache war VB

dann bin ich zu PHP (Hauptsächlich Web-Applikationen) abgerutscht... dann zu Perl... TCL.... Java... C/C++
und ja jetzt bin ich wieder bei C angelangt... also n bissel C/C++ kentnisse schaden eindeutig nicht.
Und ja man Investiert wirklich in die Zukunft

Ich verbesser lieber meine C-Kentnisse als mit Basic kram anzufangen

Posted: Fri 22 Aug, 2008 12:25 pm
by deadeye5589
Dann fang wirklich mit Atmels an. Da gibts eine Menge guter Seiten zu. Sie sind billig, haben viele Komponenten integriert, sind gut dokumentiert und es gibt genügend Möglichkeiten sie zu programmieren. Ob man sich jetzt eben den USB Prog holt oder doch einen original Atmel. Die Auswahl ist groß genug und für jeden ist was dabei. Mit AVR Studio hat man gleich die passende kostenlose Umgebung für C und Assambler dabei und die Ansteuerung von nem LCD geht leicht von der Hand.
Posted: Fri 22 Aug, 2008 1:12 pm
by john
icelase wrote:Ich glaub Bascom kann man nicht mit VisualBasic vergleichen, oder?
Doch. Der Vergleich ist sogar exzellent.
In beiden Sprachen kann man extrem schnell kleine und mittlere, nicht laufzeitkritische Dinge erledigen und Lösungen abliefern, deren Quellcode "ernsthafte" (C++) Programmierer nicht einmal mit der Kneifzange anfassen würden. Dafür hat man das Problem gelöst, während der der C++ Mensch noch den Speicher allokiert.
Die Probleme von VB und Bascom sind sind ebenfalls sehr ähnlich. Wenn man an die Grenze der vorgekochten Suppe stößt, wird der Aufwand, das Problem doch zu lösen mitunter abartig und kompliziert. In VB sind das eigene API Calls, in Basom ASM.
Beide Systeme sind proprietär und spätestens wenn einem der Hersteller die Weiterentwicklung verweigert und Portierung zu Nachfolgeprodukt nicht möglich ist (so geschehen bei Visual Basic 6), wünscht man sich, nie damit angefangen zu haben.
Ich kann davon ein Lied singen. Ich habe mehrere VB Projekte, die mehr als Hobby sind.
John
Posted: Fri 22 Aug, 2008 1:14 pm
by random
tschosef wrote:BASIC höchstens noch als Bürotippse zum Skripten von Word&Excel verwenden kann.
tip tip... tip tip tip.... tip....

tip he-laserscan... tip tip...
Gruß derweil
erich
ü?
echt?
oha!
Hut ab

Hab HEScan aber auch noch nie "in Action" gesehen geschweige denn, damit gearbeitet.
Ich hab bisher noch keine gute Software gesehen, die in BASIC/Visual oder Delphi geschrieben ist. Also damit meine ich keine "grössere" Software (Popelscan war schon gut

)
Immer irgendwelche Access violations usw..., weil man sich auf Sachen wie Garbage Collector verlässt.
VG,
/r.
Posted: Fri 22 Aug, 2008 1:46 pm
by powerpuetz
Posted: Fri 22 Aug, 2008 2:03 pm
by nohoe
Hallo
Da gibt es ja auch noch Unterschiede.
ES gibt da VB und VBA.
Das letzte ist das was die Büroassistentin vielleicht verwenden könnte für Word, Excel oder Access.
Wir haben aber keine die das könnte bei ca. 1000 Beschäftigten.
(Auftrag an die DV --> macht mal).
Ausserdem schimpft sich das jetzt ja auch VB.NET
und das braucht sich nicht zu verstecken
und hat nur noch wenig mit dem früheren Basic zu tun.
Wenn natürlich ein Produkt von Software Dilettanten programmiert wird
die absolut s a u mäßig entwickelt haben, dann braucht man sich nicht über Access Violations wundern.
Das schafft man aber auch mit anderen Hochsprachen wunderbar.
Ausser das da der Rechner keine Meldung ausgibt sondern restlos die Segel streicht.
Zum Glück brauch ich für meinen Job weder VB oder .NET oder C, oder nur selten.
Von daher kann ich HE auch nur loben,
auch wenn die Benutzeroberfläche sehr gewöhnungsbedürftig ist.
Gruß
Norbert

Posted: Fri 22 Aug, 2008 7:35 pm
by john
Random wrote:
Ich hab bisher noch keine gute Software gesehen, die in BASIC/Visual oder Delphi geschrieben ist.
Beispiele aus der Laserszene:
- Pangolin ShowTime, Laserdesigner, AutoPlayer, Asteriods sind VB6 Programme und es ist wirklich
verdammmt schwierig diesen Programmen einen klassichen VB6 Laufzeitfehler abzuringen.
- (Pangolin) LA Studio, LA Freak, LivePro, Pangolin SMS, Laserlight ShowControl sind Delphi Programme
Wenn ich es richtig in Erinnerung habe, war Visual Basic über etliche Jahre hinweg die Programmiersprache mit den meisten Programmierern weltweit. VB ist ein wenig das Fastfood der Programmierer. Keiner geht zu Mc, niemand mampft Burger, alle schimpfen auf VB...und doch benutzen es viele.
John
Posted: Fri 22 Aug, 2008 10:40 pm
by gento
Delphi : Mein Player / Optimierer
Ich kenne keine Soft die so schnell Laserdateien liest.
Ich bezeichne die als Benchmark .... läd mit 1,2 GHz > 30 MB je Sekunde.
Der Rechner ist so alt , der hat noch Blei im Lot.
lg Gento
Posted: Sat 23 Aug, 2008 11:41 am
by jojo
NEX wrote:Was für ein Glaubenskrieg
Ich warte nur gerade noch auf die ersten Selbstmordattentäter hier im Forum.
Hihi, ja das macht richtig Spass, hier mitzulesen.
Aber solche Glaubenskriege gibts es schon ewig. Schon zu DOS-Zeiten stritten sich die QBASIC-Jünger mit denen von Turbo-Pascal.
BASIC wurde immer ein bisschen als was für die doofen angesehen.
Hat wohl seine Ursache darin, dass es ursprünglich eine Anfängersprache war ("B" = Beginners).
Random wrote:
Code war glaub ich bei meiner Testroutine (PID-Regelung der Motoren des c't Bot) rund 1/3 kleiner als gcc.
Mir persönlich ist die Geschwindigkeit wichtiger als die Codegröße.
Und beides hat nichts miteinander zu tun.
Extrem geschwindigkeitsoptimierte Routinen sind oft viel länger (Spaghetticode), als "normale".
Wird gezielt auf Codegröße optimiert, leidet garantiert die Geschwindigkeit, durch Mehrfachbenutzung von Subroutinen und dem daraus entstehenden Stackoverhead.
Joachim
Posted: Sat 23 Aug, 2008 12:10 pm
by tschosef
hai hai...
spätestens wenn einem der Hersteller die Weiterentwicklung verweigert und Portierung zu Nachfolgeprodukt nicht möglich ist (so geschehen bei Visual Basic 6), wünscht man sich, nie damit angefangen zu haben.
ja.... das is echt übel... vor der hürde stehe ich auch immer wieder, und dreh mich dann doch gern mal wieder um.
Programmiersprachen sind wie Betriebssysteme, Computermarken und Haarwaschmittel... jeder hat seinen Vavoriten.
Aber eigentlich is es jetzt schön offtopic....
grüße
Erich
Posted: Mon 25 Aug, 2008 1:36 pm
by random
JoJo wrote:
Mir persönlich ist die Geschwindigkeit wichtiger als die Codegröße.
Und beides hat nichts miteinander zu tun.
Extrem geschwindigkeitsoptimierte Routinen sind oft viel länger (Spaghetticode), als "normale".
Wird gezielt auf Codegröße optimiert, leidet garantiert die Geschwindigkeit, durch Mehrfachbenutzung von Subroutinen und dem daraus entstehenden Stackoverhead.
Joachim
Hi,
das war nur ein kurz erwähntes Beispiel. Natürlich macht der geniale Optimierungen auch für die Geschwindigkeit, nur habe ich da z.Zt. keine Messergebnisse.
Für die Interessierten, was könnte hier hinter stecken?
add r0, r0, r0 LSL #2
Ich weiss nicht, was der gcc alles so optimiert, aber dadurch, dass Architektur und Compiler aus einem Hause kommen, und der armcc nur für arm compiliert, ist der Code schon hochoptimiert.
Das "Problem" des gcc ist hier halt, dass er für viele Prozessoren compilieren muss, und - meine ich mal gehört zu haben - erst auf ne Art "virtuelle Maschine" compiliert, bevor es auf die Architektur geht.
Schnapp dir mal den armcc und vgl. mal
VG,
/th.
Posted: Mon 25 Aug, 2008 6:45 pm
by fst-laser
Für die Interessierten, was könnte hier hinter stecken?
add r0, r0, r0 LSL #2
r0 = 5 * r0
Gruß Flo

Posted: Tue 26 Aug, 2008 11:30 am
by random
FST-Laser wrote:Für die Interessierten, was könnte hier hinter stecken?
add r0, r0, r0 LSL #2
r0 = 5 * r0
Gruß Flo

Jap, jeenau!
Schon ne coole Sache, dass der ARM nen BarrelShifter eingebaut hat. Das bedeutet, dass der zweite Operand immer durch diesen geht, und ein MUX den richtigen shift (0...32) auswählt.
VG,
/r.
Posted: Tue 26 Aug, 2008 2:44 pm
by random
Back2Topic:
Das beste für den Einstieg ist wirklich der AVR mit C. C ist gar nicht so schwer, wie immer angepriesen wird. Ich bin selbst von QBASIC auf C umgestiegen, weil mit damals das BASIC zu lahm wurde.
Seit dem bin ich begeistertes Mitglied der C Fangemeinde und fühl mich da auch pudelwohl.
Dazu brauchste latürnich nen AVR (z.B. Mega8), ein bischen Kleinkram (7805, 2x 100nF Kerko, Quarz 4, 6, 8MHz, 2x22pF Kerko, 1k R für RESET-Pulldown, ne Hand voll Leitungen) und ein Steckbrett, einen Programmieradapter (bei einer parallelen Schnittstelle sind das lediglich 4 Widerstände im parallelen Stecker) und PonyProg.
Für den Anfang braucht man nur sehr wenig C, ein bischen while, if, +, -, REGISTER.
Im wesentlichen machts zunächst die Kenntnis der Register aus, nciht so sehr das C wissen.
Mit so nem AVR kann man ne Menge machen. Alle kleinen Projekte, die ich in meiner Freizeit aufbaue, arbeiten mit nem AVR (liegt auch daran, dass man die DILs so schön einfach ätzen kann).
Wenn Fragen: hier im µC Forum, PM, ICQ.
VG,
/r.
Posted: Tue 26 Aug, 2008 8:10 pm
by fst-laser
@Random:
Ja, für Hochsprachen ausgelegte CPU-Architekturen sind schon was feines. Spar dem ASM-Programmier auch jede Menge Arbeit.
Aber manchmal denk ich mir, das die 68k Serie von Motorola damals seiner Zeit weit vorraus war... 32Bit anno 80er Jahre und schon ne FPU an Board (MC68040)!
On Topic: (Es wir ein µC gesucht, kein Einplatinencomputer)
Als PIC-Liebhaber würd ich Anfängern auch AVR empfällen, da es im Internet sehr viele Hilfe und (C-)Bibliotheken dazu gibt... Die Programmiersprache muß dann jeder selber wählen...
Gruß Flo