Forum: Mikrocontroller und Digitale Elektronik Programmierung in C


von Maik O. (tenner21)


Lesenswert?

Hallo.

Ich habe noch eine spezielle Frage zum Programmieren in C.

Und zwar habe ich schon bestimmt mehr als 20 PDF-Dateien 
heruntergeladen, aber immer wurde das wichtigste dabei vergessen oder 
einfach übersprungen.

Ich suche ein Tutorial, welches die einfache Ansteuerung eines Port-Pins 
des Mikrocontrollers ATMEGA8 aufzeigt.
Zwar kann ich mit Dev-C++ sehr gut programmieren (wenn es um Ausgabe von 
Wörtern und Zahlen geht), aber die Ansteuerung eines Mikrocontrollers 
finde ich nirgends.

Mit AVR-Studio habe ich das Problem, dass ich erstmal nicht debuggen 
kann (habe da eine Möglichkeit mit Baudrate 32600 oder so vorgegeben, 
kann aber nix ändern. Auch den Com-Port nicht).
Zusätzlich erkennt das Programm mein myAVR-Board nicht. Habe schon alle 
Varianten ausprobiert. Jeder Board-Typ mit automatischer Erkennung des 
Ports, manueller Einstllung des Ports, USB und weiß ich noch alles - 
doch das Teil weigert sich mein Board zu erkennen.

Außerdem finde ich nirgendwo ein einfaches Tutorial zum Ansteuern eines 
ATMega (Pins steuern). Einfache Syntax, die stark an Basic anlehnt 
reicht mir da echt schon. Dieses Zahlen- und Buchstabengewirr von den 
zusammengefassten Bits verstehe ich nämlich nicht und ohne Anleitung 
wird das auch nix.


Bitte helft mir.Bin am verzwifeln und würde das Board am liebsten in die 
nächste Ecke schmeißen und aufgeben, weil ich nirgndwo eine 
verständliche Anleitung finde. Ist doch Mist. Ich will keine 
Rechenprogramme schreiben, sondern einfach nur erstmal die Ports steuern 
können... Das wird doch wohl in ein paar Zeilen zu schaffen sein...


LG Maik

: Verschoben durch User
von C-Heini (Gast)


Lesenswert?


von Huch (Gast)


Lesenswert?

Ich habe den Eindruck, dass Du sehr frustrierte sein musst und deswegen 
nicht mehr die Konzentration aufbringst einfache Sachen zu regeln.
Denn Deine Fragen sind entweder durch einfache Suche zu beantworten oder 
widersprüchlich: Beim Debuggen spielt irgendwelche Baudrate erstmal nur 
eine sekundäre Rolle, da entweder via JTAG/DebugWire oder über 
Simulator).

Am besten das Ding mal ein paar Stunden bis Tage beiseitelegen und dann 
wieder neu anfangen.

Mach Dir nichts d'raus. Das geht jedem mal so.

von Klaus W. (mfgkw)


Lesenswert?

Mit BASIC ist in diesem Forum nicht viel zu finden.
Manchmal erbarmt sich jemand und erklärt auch etwas in BASIC,
aber die meisten sind da eher auf C oder Assembler getrimmt.

Insofern gibt es vielleicht noch anderswo eher Hilfe.
In der ganzen Selbstbau-Roboterecke wird vielleicht gelegentlich
auch mal etwas mehr mit BASIC gemacht, evtl. findest du dort
mehr Hilfe.

Generell weiß ich nicht, ob diese Art von Controllern das Richtige
ist, wenn du dich nicht so tief herablassen willst, sondern
eher den einfachen Weg zu den Pins suchst.

Es gibt auch Controller von www.wilke.de.
Die sind pro Stück deutlich teurer, aber man braucht ja
keine 100 davon.
Der Vorteil:
- recht komfortabel in BASIC programmierbar
- Multitasking einfach zu verwenden
- viel Doku und Beispiele
- sehr viele Geräte einfach über fertige und funktionierende
  Treiber ansprechbar
- sehr gute Hotline

Oder du gehst den harten Weg und befasst dich mit C.
Dann gibt es hier ein gutes Tutorial und viel Info...

von Maik O. (tenner21)


Lesenswert?

@C-Heini:
Schön - Danke. Soweit war ich auch schon. Ich meine - du kannst nichts 
dafür, aber diese Anleitung ist so seltsam unübersichtlich, dass ich 
brechen könnte.

Z.B.: Was sollen immer diese drei Punkte? Soll ich die mitschreiben oder 
wie?
Beispiel:

#include <avr/io.h>

...  //Diese meinte ich

int main(void)
{


Dann: was ist das mit diesen Registern? Was hat es mit den Bitfeldern 
auf sich - und und und... Das steht da alles nicht.

Ich möchte doch nur einen einzelnen popeligen Pin ansteuern - das soll 
für den Anfang reichen. Was muss denn da geschrieben werden?

Reicht denn dieser geschriebene Text aus?

#include <avr/io.h>
...
#define MEINBIT 2
...
PORTA |= (1 << MEINBIT);    /* setzt Bit 2 an PortA auf 1 */
PORTA &= ~(1 << MEINBIT);   /* loescht Bit 2 an PortA */

Muss ich denn immer dazu schreiben "<<MEINBIT oder ist das für den 
Programmablauf unerheblich???

Leider ist ja diese Beschreibung zu den Pins so dermaßen kurz 
gehalten... Der Autor befasst sich da lieber gleich mit 
DDRx-Schreibweisen, die ich noch weniger verstehe.

Also noch einmal konkret: Reicht der obige Text zum Ansteuern aus? Es 
ist immer wieder im Text ab dem Punkt mit den kürzeren Schreibweisen die 
rede von "Registern". Was ist das und muss man die anlegen? Wenn ja - wo 
und was muss da drin stehen.


Vielen Dank und LG Maik

von Klaus W. (mfgkw)


Lesenswert?

> Reicht denn dieser geschriebene Text aus?

Nochmal: entweder du suchst dir etwas einfacheres, oder du machst
es in C.
Dann musst du aber selber die Grundlagen lernen: ein ordentliches
C-Buch und das Tutorial hier.
Dann ist das mit den Pins auch alles kein Problem mehr, aber ohne
geht es halt nicht.

Nur weil du keine Lust zum Lesen hast, kannst du hier nicht
den 125645. Privatunterricht in Grundlagen haben.

von Huch (Gast)


Lesenswert?

Ich habe nunmehr den Eindruck das Dir nicht nur die Geduld sondern 
Grundlagen fehlen.

Die aber können wir Dir hier nicht ersetzen und Dich so mitten hinein in 
einen Stand versetzen, ohne Grundlagen die fortgeschritterenen Dinge zu 
verstehen.

Also mein Rat: Noch mal von vorne anfangen.

von Maik O. (tenner21)


Lesenswert?

@ Klaus Wachtler:

Danke. Ich möchte ja gern in C programmieren, nur fehlen die richtigen 
und wirklich Einsteigerfreundlichen Anleitungen. Den ATMega habe ich 
nunmal - da will ich den auch nutzen. Ist ja ein leistungsfähiger 
Baustein... (ATMega 8-16PU)

Gibt es denn irgendwo eine Auflistung aller Syntax für C??? Am Besten 
mit Anwendungsbeispielen für I/O-Ports.

Das hilft mir schon ungemein weiter.


LG Maik

von Hc Z. (mizch)


Lesenswert?

Nun hat ein Mikrocontroller nunmal Register und C eine bestimmte Syntax 
für Bitmanipulation.  Wenn Du also mit beidem arbeiten möchtest (und das 
schreibst Du ja), wirst Du Dich damit befassen müssen.

von Maik O. (tenner21)


Lesenswert?

@ Huch: Bitte nicht falsch verstehen aber ich finde Dein Kommentar echt 
witzig. Ich BIN am Anfang aller Grundlagen - und deswegen bin ich ja 
hier. Habe zwar ein paar PDF für allgemeine Grundlagen gefunden, diese 
beziehen sich aber NICHT auf die Programmierung von Controllern, sondern 
auf die Programmierung von Programmen unter Windows und Linux. Nützt mir 
also echt herzlich wenig.

Was ich brauche ist der perfekte Einstieg. Und dazu finde ich auch keine 
Literatur.

Kannst du mir da was empfehlen oder mir eine Seite nennen, wo das 
behandelt wird? Ist wirklich extrem wichtig. Ich möchte das größtenteils 
aus eigenen Kräften schaffen...


LG Maik

von Klaus W. (mfgkw)


Lesenswert?

Maik Schulze schrieb:
> Danke. Ich möchte ja gern in C programmieren, nur fehlen die richtigen
> und wirklich Einsteigerfreundlichen Anleitungen. Den ATMega habe ich
> nunmal - da will ich den auch nutzen. Ist ja ein leistungsfähiger
> Baustein... (ATMega 8-16PU)

Du musst zwei Dinge lernen, auch weenn es dir wahrscheinlich nicht 
gefällt:
1. C
2. AVR mit C

Du wirst kein vernünftiges Buch finden, in dem beides auf einmal
abgehandelt wird.

C alleine ist komplex genug, und vor allem auf einem PC wesentlich
einfacher zu lernen als mit einem Controller.

Deshalb rate ich dringend dazu, mit C auf einem PC anzufangen
und dann erst mit dem AVR weiter zu machen.

Mit ordentlichen C-Grundlagen ist das Tutorial hier eine feine Sache.

>
> Gibt es denn irgendwo eine Auflistung aller Syntax für C??? Am Besten
> mit Anwendungsbeispielen für I/O-Ports.

Wie gesagt: C in einem C-Buch, AVR hier.

(Langsam überlege ich schon, mal C+AVR in eionem Aufwasch als
Kurs o.ä. zu machen. Dann aber nicht mehr kostenlos...)

von Maik O. (tenner21)


Lesenswert?

@HC Zimmerer:

Und wo finde ich ein entsprechendes Tuto, wo alles behandelt wird? Es 
muss ja einen Zusammenhang geben. Wo wird was eingetragen bzw. wo muss 
was eingetragen werden?


LG Maik

von Maik O. (tenner21)


Lesenswert?

C-Einsteigerbücher habe ich 2 Stück. Dann werde ich mal trockenen Stoff 
abarbeiten. Ich hoffe, dass ich dadurch weiter komme.

Immerhin kann ich schonmal ein kleines Rechenprogramm schreiben - 
wenigstens ein Anfang...

von Huch (Gast)


Lesenswert?

>Habe zwar ein paar PDF für allgemeine Grundlagen gefunden, diese
beziehen sich aber NICHT auf die Programmierung von Controllern, sondern
auf die Programmierung von Programmen unter Windows und Linux.

Dann hast Du falsch gesucht. Texte über die Grundlagen der Sprache C 
beziehen sich nicht auf eine bestimmte Hardware, sonst sind es nämlich 
keine Texte über Grundlagen.

Das Problem ist, das Du die Dir vorliegenden Texte leider weder nennst 
(mit Link) oder differenziert beschreibst was an einem konkreten Text 
Dir welche Schwierigkeiten macht.

Dahe haben wir keine andere Grundlage Dir einen anderen Text zu 
empfehlen als das er eben existiert. Dafür reicht aber google und 
Konsorten.

Ehrlich gesagt, empfinde ich Deine ganze Attitüde als ein wenig 
hysterisch. (Das soll nur eine Qualifikation und keine Herabsetzung 
sein). Mach mal was anderes. Schraub' am Auto oder wasch ab oder lies 
Deiner Frau was vor. Und in ein paar Tagen kannst Du das Ganze schon 
etwas ruhiger und überlegter angehen.

von Klaus W. (mfgkw)


Lesenswert?

Was du von den C-Grundlagen können solltest:
- Zeiger
- Zeiger
- Zeiger
- Felder
- Strings
- Zeiger+Felder+Strings
- Wertsemantik, Referenzsemantik
- Schleifen, Fallunterscheidungen
- Modularisierung, Headerdateien
- Operatoren, auch und besonders die für Binärarithmetik
  (binäres UND, OR, Negierung, XOR...)
- ach ja: und Zeiger natürlich

Dateien (low level IO mit int-file descriptor ebenso wie FILE*)
helfen dir auf einem Controller nicht viel, auf PCs natürlich
schon.

von Huch (Gast)


Lesenswert?

Und dann würde ich noch Zeiger vorschlagen. Die sind wichtig! :-)

von Frank L. (florenzen)


Lesenswert?

Klaus Wachtler schrieb:

> - Zeiger, Zeiger, Zeiger, Zeiger+Felder+Strings und Zeiger natürlich

Huch (Gast) schrieb:

> Und dann würde ich noch Zeiger vorschlagen. Die sind wichtig! :-)


Man sollte die Wichtigkeit von Zeigern für einen Einsteiger der 
Controller programmieren möchte nicht überbewerten.
Ich würde Bitmanipulation als wesentlich wichtiger erachten.

Wenn er auf dem Controller so weit ist daß er Zeiger braucht kann er 
sich das Problemlos selbst anlesen ;-)


Gruß
f

PS: Ihr habt Zeiger auf Funktionen vergessen. :)

von Joe (Gast)


Lesenswert?

Mal wieder viele Besserwisser, arrogante C++ Programmierer oder solche, 
die dies vorgeben.

Es schreibt einer: "Ich will C++ lernen"

Antwort: "Dann must du C lernen"

Und das selbe mehrmals - komisch!

Dann werden noch die Fähigkeiten des Fragenden in Frage gestellt, aber 
er will doch lernen!

Nach dem Lesen der bisherigen Beiträge fällt mir auf, dass wohl keiner 
der bisherigen Schreiber die Fähigkeit besitzt in deutlich weniger 
Zeilen als die bisherigen Kommentare umfassen, dem Fragenden eine 
geeignete Antwort zu geben.

Ich habe erkannt, wer noch viel lernen muss!

Joe

von Klaus W. (mfgkw)


Lesenswert?

Joe schrieb:
> Antwort: "Dann must du C lernen"
>
> Und das selbe mehrmals - komisch!

Vielleicht weil C++ (zumindest das, was man klassischerweise
unter C++ versteht) für einen AVR gar nicht geeignet ist?

Abgesehen davon, daß er gar nicht unbedingt C++ machen will,
sondern auch mit BASIC etc. vorlieb nehmen würde, Hauptsache
einfach.

Es steht dir natürlich frei, einen anderen guten Ratschlag
zu geben.

Außer Gemecker und den Vorwurf von Arroganz kann ich das
jetzt aber bei deinem Beitrag nicht so recht erkennen.

von Frank L. (florenzen)


Lesenswert?

Joe schrieb:

> Es schreibt einer: "Ich will C++ lernen"

Wo hast du das gelesen?


Gruß
f

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Maik Schulze schrieb:


>> Zwar kann ich mit Dev-C++ sehr gut programmieren...
> Z.B.: Was sollen immer diese drei Punkte? Soll ich die mitschreiben oder
> wie?
> Beispiel:
>
> #include <avr/io.h>
>
> ...  //Diese meinte ich
>
> int main(void)
> {

... ist ein Hinweis, dass an dieser Stelle statt ... weitere 
C-Anweisungen stehen können oder stehen müssen.

Wenige hier schreiben als Antwort auf Fragen komplette Programme. 
Meistens wird der grundsätzliche Weg gezeigt und es ist Aufgabe des 
Fragenden die Grundlösung zu ergänzen.

> Dann: was ist das mit diesen Registern?

Steht im Datenblatt des Atmega8.

> Was hat es mit den Bitfeldern
> auf sich - und und und... Das steht da alles nicht.
                        ^^^ grinz

Bitfelder => Bitmanipulation

> Ich möchte doch nur einen einzelnen popeligen Pin ansteuern - das soll
> für den Anfang reichen. Was muss denn da geschrieben werden?
>
> Reicht denn dieser geschriebene Text aus?
>
> #include <avr/io.h>
> ...
> #define MEINBIT 2
> ...
> PORTA |= (1 << MEINBIT);    /* setzt Bit 2 an PortA auf 1 */
> PORTA &= ~(1 << MEINBIT);   /* loescht Bit 2 an PortA */

Nein. Das sit kein legales C-Programm. Es fehlen wesentliche Teile wie 
z.B. main()

Wenn PORTA2 ein gültiger I/O-Pin am Atmega8 ist (=> Datenblatt), ist der 
Teil oben bereits richtig.

Es fehlt noch die Einstellung über das DDRA Register, dass der Pin ein 
Ausgabepin sein soll. Frisch nach dem RESET ist er nämlich ein 
Eingangspin.

> Muss ich denn immer dazu schreiben "<<MEINBIT oder ist das für den
> Programmablauf unerheblich???

Viele Wege führen nach Rom. Diese Schreibweise ist eine gängige 
Konvention, weil sie relativ gut von Menschen interpretierbar ist.

Bitfelder => Bitmanipulation

> Leider ist ja diese Beschreibung zu den Pins so dermaßen kurz
> gehalten... Der Autor befasst sich da lieber gleich mit
> DDRx-Schreibweisen, die ich noch weniger verstehe.

Immer im Datenblatt nachvollziehen, was gemacht wird. Was im Datenblatt 
steht muss ja sollte im Quellcode nicht wiederholt werden.

> Also noch einmal konkret: Reicht der obige Text zum Ansteuern aus?

Nein,

> Es
> ist immer wieder im Text ab dem Punkt mit den kürzeren Schreibweisen die
> rede von "Registern".
> Was ist das und muss man die anlegen? Wenn ja - wo
> und was muss da drin stehen.

Häh? Wo wie was?

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Joe schrieb:
> Mal wieder viele Besserwisser, arrogante C++ Programmierer oder solche,
> die dies vorgeben.

Und zu welcher Gruppe gehörst du?

> Es schreibt einer: "Ich will C++ lernen"
>
> Antwort: "Dann must du C lernen"
>
> Und das selbe mehrmals - komisch!

Auch wenns nichts mit der Fragestellung zu tun hat, meiner Meinung nach 
sind für jemanden der C++ lernen will C Kentnisse eher hinderlich.

> Dann werden noch die Fähigkeiten des Fragenden in Frage gestellt, aber
> er will doch lernen!

Was willst du machen, manche haben eben die nötigen Denkstrukturen, 
manche müssen sie erlernen. Nur aus dem Verhalten des OP geht hervor das 
er eher das Handtuch wirft als sich Systematisch einzuarbeiten; also 
warum ihm nicht den Frust ersparen? Programmieren hat auch was mit 
Organisation, Eigeninitiative und Durchhaltevermögen zu tun.

> Nach dem Lesen der bisherigen Beiträge fällt mir auf, dass wohl keiner
> der bisherigen Schreiber die Fähigkeit besitzt in deutlich weniger
> Zeilen als die bisherigen Kommentare umfassen, dem Fragenden eine
> geeignete Antwort zu geben.

> Ich habe erkannt, wer noch viel lernen muss!

Schön. Aber für den Fall das nicht jeder unter "wer" fällt, würde ich 
dir empfehlen nochmal drüber nachzudenken...

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Auch wenns eventuell schädlich ist, hier das vollständige popelige 
Beispiel zum Bit ansteuern:
1
#include <avr/io.h>
2
3
#define MEINBIT 2
4
5
int main( void ) {
6
7
 // Initialisierungen
8
 DDRB  = 0xFF;                // Alle Pins von Port B auf Ausgang
9
 PORTB = 0x00;                // Alle PINS von PORTB auf low
10
11
 // Endlosschleife
12
 while( 1 ) {
13
  PORTB |= ( 1 << MEINBIT );  // Hiermit wird PB2 auf high gesetzt
14
  PORTB &= ~( 1 << MEINBIT ); // Hiermit wird PB2 auf low gesetzt
15
 };      
16
 
17
 return 0;                    // Formhalber der Rückgabewert für main, obwohl nie erreicht.
18
}

Trotzdem wirst du das Blinken nicht sehen können weils einfach zu 
schnell geht.

Zum Verständnis würde ich mich als erstes mal mit dem Shift Operator 
bzw. generell bitweisen Operatoren vertraut machen.

Als Quelle sei einfach mal das AVR-GCC-Tutorial hier genannt, wo auch 
direkt eine Erklärung zum Shift steht: 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Ausg.C3.A4nge

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Frank Lorenzen schrieb:

> Man sollte die Wichtigkeit von Zeigern für einen Einsteiger der
> Controller programmieren möchte nicht überbewerten.
> Ich würde Bitmanipulation als wesentlich wichtiger erachten.

Sehe ich ähnlich, Zeiger gehören bei mir auf dem µC eher zu den 
selteneren Gästen. Ausser für (String-)Arrays die naturgemäß per Zeiger 
übergeben werden gehört hier call by reference meiner Meinung nach zu 
den Ausnahmen.
Und bislang bin ich auf 8 Bit µC auch ganz gut ohne dynamische 
Speicherverwaltung ausgekommen.

> Wenn er auf dem Controller so weit ist daß er Zeiger braucht kann er
> sich das Problemlos selbst anlesen ;-)

Das kann man sich eigentlich aufheben bis es sich zwangsläufig aus der 
Aufgabe ergibt und/oder es in ähnlichen Beispielen als zweckmäßig 
erweist.

> PS: Ihr habt Zeiger auf Funktionen vergessen. :)

Für manche Menschen ist es eventuell besser wenn manche Türen für immer 
geschlossen bleiben gotos, voidpointer, etc.; auch wenn sie für andere 
sehr nützlich sind.

von Etrick (Gast)


Lesenswert?

Hi,

ich kritisiere hier mal alle Beteiligten:

erst den Frager, der unbedingt auf C beharrt (Programmieren kann man 
auch in Bascom, und dort lernen wie man Pins sprachunabhängig 
ansteuert).

und natürlich die C Freaks. C ist mächtig und gebräuchlich. Soweit so 
gut. Die Sprache hat aber eine Scheißsyntax und ist darum mM zum 
Einsteigen nicht das wahre.

Gruß

Achim

von Jens G. (jensig)


Lesenswert?

>und natürlich die C Freaks. C ist mächtig und gebräuchlich. Soweit so
>gut. Die Sprache hat aber eine Scheißsyntax und ist darum mM zum
>Einsteigen nicht das wahre.

Mag zwar richtig sein, aber wie schon oben gesagt wurde, wird es zu 
BASIC kaum hier jemanden geben, der helfen kann.

Vielleicht das hier als C-Einstieg:

http://openbook.galileocomputing.de/c_von_a_bis_z/

Und was die Verbindung mit AVR angeht -> das schon genannte AVR-Tutorial 
+ Datenblatt des µC

von Klaus W. (mfgkw)


Lesenswert?

Etrick schrieb:
> ich kritisiere hier mal alle Beteiligten:
>
> erst den Frager, der unbedingt auf C beharrt (Programmieren kann man
> auch in Bascom, und dort lernen wie man Pins sprachunabhängig
> ansteuert).

stimmt nicht:
Maik Schulze schrieb:
> Einfache Syntax, die stark an Basic anlehnt
> reicht mir da echt schon.

Das würde ich jetzt schon als offen für Alternativen bezeichnen,
wenn ich ihn nicht falsch verstanden habe.


Etrick schrieb:
>
> und natürlich die C Freaks. C ist mächtig und gebräuchlich. Soweit so
> gut. Die Sprache hat aber eine Scheißsyntax und ist darum mM zum
> Einsteigen nicht das wahre.

Man hat ihm auch anderes nahegelegt:
Klaus Wachtler schrieb:
> Es gibt auch Controller von www.wilke.de.
Klaus Wachtler schrieb:
> Insofern gibt es vielleicht noch anderswo eher Hilfe.


Apropos Kritik: Kam von dir ein besserer Rat als die hier gemachten?

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Etrick schrieb:

> und natürlich die C Freaks. C ist mächtig und gebräuchlich. Soweit so
> gut. Die Sprache hat aber eine Scheißsyntax und ist darum mM zum
> Einsteigen nicht das wahre.

Um mal haku zu zitieren: Was ist eigentlich nichtssagender? "Dim x&, y$, 
z%" oder "long x, char *y, int z"?

Soviel zum Thema "Scheißsyntax" oder hast du irgend ein Beispiel um 
deine Aussage zu belegen?

Ich kenne durchaus Sachen die ich an C anders gemacht hätte, aber mit 
Sicherheit nicht in Richtung Basic.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Jens G. schrieb:

> Mag zwar richtig sein, aber wie schon oben gesagt wurde, wird es zu
> BASIC kaum hier jemanden geben, der helfen kann.

Das sehe ich nicht so.

Es gibt hier im Forum genug kompetente User, die selbst BASCOM einsetzte 
und auch helfen.

Die Wahrscheinlichkeit ist jedoch gering, die in einem Thread zu 
treffen, der als Betreff "Programmierung in C" hat.

von Gerd V. (gerald)


Lesenswert?

Hallo Maik Schulze,

lass Dich nicht unterkriegen.
Alle die hier laut Rumschreien kochen auch nur mit Wasser.
Als erstes musst in diesem Forum lernen die gegebenen Antworten zu 
selektieren.
In vielen Antworten steht einfach nur Blödsinn.
Der nächste Weg ist, besorge Dir mal ein, zwei Bücher über 
C-Programmierung und AVR-Controller, dann wird manches einfacher.

Speziell für die Programmierung in C und AVR empfehle ich Dir das Buch
"Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie" aus 
dem Oldenbourg-Verlag ISBN 978-3-486-58790-6.
Hier werden speziell alle Probleme mit MC in Verbindung mit C 
ausführlich behandelt.

Dann noch ein spezielles Buch zur reinen C-Programmierung von Jürgen 
Wolf
"C von A bis Z" inclusiv einer Referenzkarte für C-Befehle.
Hier noch die ISBN 978-3-8362-1411-7.

Gibt sicherlich noch weit mehr gute Bücher ..ich habe mich halt für 
diese Exemplare entschieden und komme gut zurecht.

Wie Du siehst, gibt es doch vernünfitige Bücher in Sachen C und AVR.
Hier wird das Gegenteil behauptet ...ein Beispiel fürs Selektieren der 
vorhandenen Antworten.

Als Programmierplattform benutze ich aussschliesslich das AVR-Studio und 
teste meine Software auch dort per Simulation bis 90% fertig aus.
Ist am Anfang nicht ganz einfach sich in die Geschichte dort 
reinzudenken, aber mit der Zeit wirst die Software nicht missen wollen.
Sie ist sehr leistungsfähig und erfüllt ihren Zweck 100% ....so meine 
Meinung.

Wenn in Basic programmieren willst, kuck mal bei Roboterleuten vorbei, 
die arbeiten sehr oft mit Basic.

Also lass den Kopf nicht hängen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.