Hallo miteinander,
ich will eine Schaltung entwickeln mit welcher man via LWL einen
Lastteil schalten kann (IGBT). Die schaltung soll mit einem LC-Display
ausgestattet sein und eine superhelle LED schalten.
Einstellungen:
Man soll folgende Funktionen verwirklichen können:
LED permanent EIN bzw. AUS und Ausgangsignale von ca. 100ms bis 100s
(Stufenweise). Da ich nur eine LED habe wird natürlich nur immer eine
Impulsdauer gewählt.
Bis vor einiger Zeit habe ich mit PICs gearbeitet und mit Assembler
programmiert, da ich bei meinem letzten Projekt enorme Probleme hatte,
die µC sind schlicht und ergreifend zu langsam (liegt teilweise auch an
programmierung - aber meine distanzierung steht unwiderruflich fest),
möchte ich einen Atmega(evtl den 64er) mit C# programmieren.
Ich denke dass das Display mir die größten Probleme bereiten dürfte,
allerdings stell ich dieses mal hinten an.
Hat zufällig jemand ein vergleichbares Programm schon mal geschrieben
und könnte es mir geben bzw. mir Hilfestellung leisten, meine
Programmierkenntnisse in C sind mehr als begrenzt.
Hab mir gerade das Gratisbuch zu C bestellt (mikrocontroller.net sei
dank =) )
Würde mich sehr über konstruktive Beiträge freuen.
MFG
Für C# brauchst du die .NET-Laufzeitumgebung. Ich kann mir nicht
vorstellen, dass es die für einen uC gibt. Wenn dir C zu Lowlevel für
die GUI-Programmierung deines Displays ist, könntest du ja als
"Kompromiss" C++ verwenden.
Elektroniker schrieb:> Sind die Unterschiede so gravierend?
ungefähr 80 Megabyte Laufzeitumgebung.
Und da sind die unterschiedlichen Sprachphilosophien noch gar nicht mit
eingerechnet.
Elektroniker schrieb:> Sind die Unterschiede so gravierend?
Ja, zwei völlig unterschiedliche Konzepte und für völlig
unterschiedliche Einsatzzwecke entwickelt.
Elektroniker schrieb:> Ich fang einfach mit den letzteren an, wird dort eigentlich auch> erläutert "wie ich was" programmiere. Anders gesagt, die Befehle.
Wenn du erst mal C lernen musst, dann würde ich dir empfehlen dir ein
gängiges C-Buch zu kaufen (*) und deine ersten Schritte damit auf dem PC
zu machen. Wenn dann ein gewisser C-Grundstock vorhanden ist und auch
sitzt, gehts leichter die µC-spezifischen Dinge da reinzupacken.
Zur Not:
http://openbook.galileocomputing.de/c_von_a_bis_z/
(Auch wenn ich persönlich nicht viel von Online-Lesen halte. Ein
gedrucktes Buch kann man neben dem Monitor liegen haben)
Gängig ist zb 'die Bibel'
Kernighan & Ritchie
Programmieren in C
Hi
>kopiere Dir : lcd-routines.c und lcd-routines.h aus dem Tutorial dann>hast Du schon mal ein Erfolgserlebnis mit dem LCD.
Klar. Copy&Paste-Generation. Verstehen muss man es ja nicht.
MfG Spess
Elektroniker schrieb:> Bis vor einiger Zeit habe ich mit PICs gearbeitet und mit Assembler> programmiert, da ich bei meinem letzten Projekt enorme Probleme hatte,> die µC sind schlicht und ergreifend zu langsam (liegt teilweise auch an> programmierung - aber meine distanzierung steht unwiderruflich fest),> möchte ich einen Atmega(evtl den 64er) mit C# programmieren.
Also wenn Dir die PICs mit Assembler zu langsam sind, dann ist C# aber
die denkbar ungünstigste Alternative überhaupt. Mal abgesehen davon,
dass Du für C# keinen Compiler für AVR finden wirst.
Also, wie schon mehrfach hier empfohlen: C
mit einem Erfolgserlebnis lernt es sich doch leichter.
Für diese Aufgabenstellung zuerst ein dickes Buch zu lesen und dann zu
beginnen ist recht zäh.
Der TE hat doch schon einige Vorkenntnisse und sich auch eine
vernünftige Aufgabenstellung gesucht.
Axel
Daniel R. schrieb:> Hallo, es gibt C# für kleinere Prozessoren (32 Bit 64k Ram) :
Nur zur Klarstellung: In dem Bereich in dem wir hier uns normalerweise
bewegen, also Steuerung einer Waschmaschine oder dergleichen, ist das
kein kleiner Prozessor mehr, sondern schon ein sportlicher Bolide.
Wenn das Zeugs in den 64k auch so flüssig läuft wie auf den Pocket-PCs,
na dann gute Nacht zeitkritische Steuerung.
macht aber mehr Sinn einen Mega 8 oder Mega88 auf internen 1 MHz zu
nehmen, den Timer 1 solange zu probieren bis der Interrupt alle 100ms
aufgerufen wird und dann die Aufrufe zu zählen. Fertich.
Axel
Elektroniker schrieb:> Puh, hört sich für mich nicht so einfach an.
Im Grunde ist es das aber
> Kannst du's kurz erläutern?
Steht eigentlich mehr oder weniger alles in den Tutorien drinnen.
Das Problem: Er müsste hier bei 0 mit der Erklärung anfangen. Und dann
schreibt er im Grunde ein neues Tutorium extra für dich.
Auch wenn du schon mit PIC gearbeitet hast:
Du solltest die Tuorien wirklich ernst nehmen und von Anfang an
durcharbeiten (beide!). Mit deinen Vorkentnissen wird das schnell gehen,
aber nur so merkst du dir die kleinen Details.
Elektroniker schrieb:> Bis vor einiger Zeit habe ich mit PICs gearbeitet und mit Assembler> programmiert, da ich bei meinem letzten Projekt enorme Probleme hatte,> die µC sind schlicht und ergreifend zu langsam (liegt teilweise auch an> programmierung - aber meine distanzierung steht unwiderruflich fest),> möchte ich einen Atmega(evtl den 64er) mit C# programmieren.
Mit solchen Aussagen wäre ich hier ziemlich vorsichtig. Gerade weil sich
hier jeder schräg lacht weil der Wechsel von PIC -> ATMEGA sicherlich
nicht deine Unfähigkeit zu Programmieren kaschieren kann.
Die maximalen Taktfrequenzen sind bei PIC & ATMEGA identisch genauso wie
die Dauer der Ausführung einer Instruction. Ich bin dafür, dass du
ordentlich Programmieren lernst (ob nun auf PIC oder ATMEGA ist egal).
Wie du in C# einen MEGA programmieren willst da bin ich gespannt.
Aber eines kann ich dir sagen: Deine Programme werden auf dem ATMEGA
genauso schnell oder langsam sein wie auf dem PIC ...
Ich bin ja gespannt wie du einen derart Objektorientierte Sprache wie C#
+ .net Framework auf den ATMEGA bringen willst. Wenn du's geschafft hast
und das laden nicht 2 Stunden braucht, dann hast du garantiert gelernt
wie man effizient programmiert.
In diesem Sinne ...
Immer langsam mit deinem Sarkasmus. Hab wie gesagt keine lust mehr auf
Assembler und mach nun C. Wie gesagt nicht C# sondern C, hättest du auch
nachlesen können. Aber deinen Kommentar hättest du dir auch sparen
können, versuch mal hilfreich zu sein - Immerhin ist dein Name Lehrmann!
Hallo Elektriker,
nimm einen Mega88 und die angehangene Datei und schließ das LCD so wie
in der Datei beschrieben an. Dann sollte was auf dem LCD erscheinen.
Axel