Forum: Offtopic Lästern -> Ratespiel!!!


von Thomas (Gast)


Lesenswert?

http://www.alekto-programming.com/modules.php?name=Content&pa=showpage&pid=3

Ich bin über einschlägige Elektronik Foren auf eine Web-Seite gestoßen,
auf der ein C-Tutorial für µC's angepriesen wird. Natürlich musste ich
mir das gleich mal ansehen - denn man lernt ja niemals aus ;-)

Nun habe ich aber eine Frage - was meint Ihr, sind die Bauteile auf dem
dargestellten Entwicklungsboard gelötet oder die Drähte und Beinchen auf
der Rückseite so umgebogen, dass irgendwie in der Schräglage von 12,8°
genau um 12Uhr mittags Kontakt hergestellt ist?

Wie soll das nur weiter gehen? Es ist ja schön, wenn sich junge Leute
mit solch einer Materie beschäftigen - und lobenswert, wenn sie
gelerntes oder zu lernendes niederschreiben...die Qualität bleibt aber
vorn und hinten immer mehr auf der Strecke...

selbstgeätzte Leiterplatten, wo zwischen Quarz-Beinchen 230V Leitungen
(natürlich nur 12mil) geroutet werden lassen sicherlich auch nicht mehr
lang auf sich warten...

von Andy S. (Gast)


Lesenswert?

warum meinst du das soll nicht gelötet sein? da ist zwar einiges krumm
und schief aber warum sollte man sich darüber aufregen? verstehe ich
nicht...

da gibt es wesentlich schlimmeres - zB Hungersnöte, Kriege, Amerika,
Terrororganisationen und die Zeugen Jehova...

von Andy S. (Gast)


Lesenswert?

Ach, was ich noch vergessen habe zu erwähnen ist, dass ich der größte
bin und du sowieso nur ein kleiner Verlierer. Der Typ der das board
zusammengepopelt hat sowieso, aber wir wollen mal nicht so sein... bin
heute gnädig!

von Karl H. (kbuchegg)


Lesenswert?

> was meint Ihr, sind die Bauteile auf dem
> dargestellten Entwicklungsboard gelötet

Worauf willst du hinaus?
Das ist ein ganz normales MyAvr Entwicklungsboard.

von Thomas (Gast)


Lesenswert?

Ja - welches sehr bescheiden zusammen gelötet ist - und zur schande dann
auch noch präsentiert wird.

von mr.chip (Gast)


Lesenswert?

> Ja - welches sehr bescheiden zusammen gelötet ist - und zur schande
> dann auch noch präsentiert wird.

Ach... Löten ist nunmal nicht jedermans Sache und auch nur eines unter
vielen Kriterien, was ein gutes Projekt ausmacht. Wenn ich da meine
Lötereien ansehe, stehen mir die Haare noch viel mehr zu Berge, aber
was solls - meine Projekte funktionieren und haben Spass gemacht. Zudem
steckt da viel mehr dahinter, als nur etwas zusammenzulöten...

Kommt mir fast vor wie in der Grundschule, als man Aufsätze nochmals
schreiben musste, weil die Schrift nicht schön war...

von Karl H. (kbuchegg)


Lesenswert?

> Ja - welches sehr bescheiden zusammen gelötet ist

Yep. Jetzt seh ich's auch. Die Buchsenleisten sind wirklich
nicht berühmt, der Quarz sieht freischwebend aus und der
Kondi dahinter macht einen Wheely.

Na ja. Vielleicht sagt ihm noch jemand, dass er zumindest
den Prozessor mal ordentlich in die Fassung drücken soll :-)

von Paul Baumann (Gast)


Lesenswert?

Grau ist alle Theorie,
wenn´s gehen soll und geht doch nie!
Praxis ist, jetzt fragt nicht dumm,
wenn´s geht, und keiner weiß warum!

MfG Paul

von alpha (Gast)


Lesenswert?

Mal wieder ein paar neue Trolle?

von EZ81__ (Gast)


Lesenswert?

Das Board wird vielleicht nicht den Harry Joyce Award für saubere
Verarbeitung gewinnen, aber chinesische EUR 0.99 Radios etc. sehen
deutlich wilder aus und funktionieren trotzdem...

von Stefan (Gast)


Lesenswert?

Musste erst nachsehen ;-)
http://harry-joyce.com/hjmilspc.htm

von Nico (Gast)


Lesenswert?

Mädel, Mädel.. ich  weiß ja nicht, was du für ein Problem hast!

>http://www.alekto-programming.com/modules.php?name=Content&pa=show...
>
>Ich bin über einschlägige Elektronik Foren auf eine Web-Seite
gestoßen,

www.roboternetz.de

>auf der ein C-Tutorial für µC's angepriesen wird. Natürlich musste
ich

Omfg... was heißt bei dir denn bitte "angepriesen"...

>mir das gleich mal ansehen - denn man lernt ja niemals aus ;-)
>Nun habe ich aber eine Frage - was meint Ihr, sind die Bauteile auf
dem
>dargestellten Entwicklungsboard gelötet oder die Drähte und Beinchen
auf

Ja die sing gelötet! Und ich hatte noch nie, Kurzschlüsse, kalten oder
abgelösten Lötstellen!

>der Rückseite so umgebogen, dass irgendwie in der Schräglage von
12,8°
>genau um 12Uhr mittags Kontakt hergestellt ist?

Ist doch vollkommen SCHEI** egal, wie der leitende Kontakt hergestellt
wird. Haupsache er leitet eben und sitzt bombensicher!

Der Meister arbeitet wohl wie ne Maschiene...

>Wie soll das nur weiter gehen? Es ist ja schön, wenn sich junge Leute
>mit solch einer Materie beschäftigen - und lobenswert, wenn sie

Na dann Vielen Dank...

>gelerntes oder zu lernendes niederschreiben...die Qualität bleibt
aber
>vorn und hinten immer mehr auf der Strecke...

Die Tutorials sind für Anfänger, nicht für so Total-Profis wie dich...

Da krieg ichs kotzen!

von Thomas (Gast)


Lesenswert?

Na - dann will ich mal hoffen, dass Du niemals in der
Hardware-Entwicklung Bereich HF sitzen wirst!!!

von Nico (Gast)


Lesenswert?

Nico

Dein erstes Board sah sicher aus, wie als hätte es Gott persönlich
gelötet!

HDL!

von Thomas (Gast)


Lesenswert?

Nein, dass sicherlich nicht - aber ich habe mich der Kritik gestellt und
konnte damit umgehen und habe letztendlich aus dieser Situation etwas
mitgenommen!
Naja - und natürlich habe ich die beine des ATMega's ausgerichtet und
die Bauteile ganz "reingesteckt" - die Lötstellen waren da eher das
Problem ;-)

Hab Dich im übrigen nicht lieb - dazu kenne ich Dich zu wenig.

von Nico (Gast)


Lesenswert?

Hättest du mal auf Seite 1 gelesen, dass ich den ganzen Spaß seit 1 Tag
gemacht habe, hättest du dir deine Kommentare evtl sparen können...

von *.* (Gast)


Lesenswert?

Wenn man ihn nicht ganz reinsteckt kriegt man ihn leichter wieder
raus... darauf kommts beim Basteln an.

Oh Mann Hauptsache ist das es funktioniert, wenn es das tut ist es
wirklich total egal wie schief die Bauteile drinnenhängen. Das Ding
steuert schließlich kein Atomkraftwerk.

Der Lästerer ist wohl so ein Deutscher Saubermann der seinen Rasen auf
+/- 0,1mm hält und die Nachbarn anzeigt weil die Blätter von deren
bösen Bäumen rüberkommen ;)

von Magnastat (Gast)


Lesenswert?

Nein. Wenn man als Anfänger noch nicht mal versucht, anständig zu löten,
dann braucht man bei auftretenden Fehlern in selbstgeschriebener
Software gar nicht erst mit dem Suchen anzufangen.

Das Konzept "Die Anzahl der möglichen Fehler geringhalten" ist euch
Helden wohl völlig unbekannt?

Eine mies zusammengerotzte Platine (warum für sowas eigentlich eine
Platine ätzen?!) ist nunmal Hauptfehlerquelle Nummer eins.

Nun haben wir nicht die Unterseite dieser Horrorplatine gesehen.
Es gibt auch vermeintliche Perfektionisten, die alles fein säuberlich
perfekt in die Platine stecken, um dann eine Orgie mit verkokeltem
Lötzinn, umgebogenen und viel zu langen Drähten und anderem veran- ach
war, ver_un_stalten.

Und diese Helden jammern und heulen dann das Forum voll, weil bei ihnen
irgendwas nicht geht - muss ja ein Compilerfehler sein, oder die
Datenblätter sind so beschissen geschrieben -

ach, blah. Löten lernen ist nicht schwer.

von Thomas (Gast)


Lesenswert?

@Magnastat: Super, endlich mal ein gescheiter Kommentar: Genau darauf
kommt es an! Wenn sich jemand bei den Grundlagen solch Mühe gibt, dann
mag ich den C oder Assembler Code erst garnicht sehen!

@*.*: Nein, dass siehst Du falsch! Im übrigen - wir sollten hier nicht
anfangen, uns gegenseitig nieder zu machen. Ich wollte lediglich auf
die  bescheiden zusammen gebaute Platine hinweisen! Aber daran erkennt
man wieder die charaker-schwächen der Deutschen-Saubermänner.

von Timo (Gast)


Lesenswert?

@Thomas

->Aber daran erkennt man wieder die charaker-schwächen der
->Deutschen-Saubermänner.

Naja, darüber wer hier charakterschwach ist lässt sich sicherlich
diskutieren!

Und mein Lieber, Kritik sieht anders aus (alleine die Überschrift). Tu
jetzt bitte also nicht im Nachhinein so, als wolttest du nur aufrichtig
dem Jungen helfen und ein paar Tips geben, dann hättest du ihm auch ganz
einfach eine Mail schicken und ihm deine Hilfe anbieten können.

Aber nein, du wolltest dich einzig und alleine über ihn lustig machen!
Und dass sich ein offensichtlich erwachsener Mann über Jugendliche, die
ihre Freizeit nicht nur mit Saufen verbringen, lustig macht ist aus
meiner Sicht ziemlich arm! (Spekulation: Fehlt da etwa ein wenig
Anerkennung auf der Arbeit?)

Und zu deiner Frage, wie es mit der deutschen Jugend weitergehen soll:
Wenn es nur Erwachsene wie dich gibt, kann es wohl nicht besser werden!
(Und damit meine ich nicht nur das Löten elektronischer Schaltungen)

Timo

von Karl heinz B. (kbucheg)


Lesenswert?

> Wenn man ihn nicht ganz reinsteckt kriegt man ihn leichter wieder
> raus... darauf kommts beim Basteln an.

Wenn man ihn so wie auf dem Bild sockelt, ist es ein Wunder
wenn da vor lauter Wackelkontakten überhaupt was geht.
Einmal kurz am Board anstossen und schon hast du eine
Spike-orgie an allen Pins.

Ach komm: Einen DIL mit einem Schraubenzieher aus dem
Sockel hebeln, ist nun wirklich keine grosse Sache. Man
muss nur an beiden Enden mit dem Schraubenzieher arbeiten.
Arbeitet man nur von einer Seite, sind verbogene Pins
vorprogrammiert.

von *.* (Gast)


Lesenswert?

Leichter geht es aber wenn zumindest genug Platz für die
Schraubenzieherklinge bleibt.

von Nico (Gast)


Lesenswert?

@Karl Heinz Buchegger
>Wenn man ihn so wie auf dem Bild sockelt, ist es ein Wunder
>wenn da vor lauter Wackelkontakten überhaupt was geht.
>Einmal kurz am Board anstossen und schon hast du eine
>Spike-orgie an allen Pins.

Noch so ein Mr. Allwissend...

Soll ich mal in die Salatschleuder oder sowas hängen um euch zu
beweisen, dass es KEINE Wackelkontakte gibt und das (abgesehen von den
Drähten) KEINE Sachen durch die Gegend fliegen werden?
Wie bereits erwähnt, ist es sowas von egal, wie der leitende Kontakt
hergestellt wird, solange er eben leitet und fest sitzt!!!!1111einself

@Thomas:
>Nein. Wenn man als Anfänger noch nicht mal versucht, anständig zu
>löten, dann braucht man bei auftretenden Fehlern in
selbstgeschriebener
>Software gar nicht erst mit dem Suchen anzufangen.

Sieht man mal, wie intensiv du dich mit dem Tutorial beschäftigt
hast...
Ein kurzer Blick: Ah die Sockelleisten sind krumm --> Voll der
Kacknoob!

Ich finde meinen Quelltext sehr übersichtlich (den gibts immer zu den
Tutorials, falls du es übersehen hast)!
#######################################
void blink(uint8_t Iterations) // So oft blinken, wie die übergebene
Zahl...
{
uint8_t i;
i = 0;
    while(i < Iterations){
        i += 1;
        PORTB |= (1<<PORTB0); // HIGH setzen
        _delay_ms(500); //je 500ms pausieren
        PORTB &= ~(1<<PORTB0); // LOW setzen
        _delay_ms(500); //je 500ms pausieren
    // zur abwechslung mal überprüfen, ob der Schalter gedrückt ist...
        if(!(PIND & (1<<PIND2))){ // Wenn der Schalter gedrückt ist,
dann beginnen wir von neu, bei 1
            Zahl = 1;
            break; // Blink-Funktion auch abbrechen...
        };
}
###########################

Bevor ich es vergesse... Laser & Co Solutions haben bereits Interesse
am Tutorial gezeigt ;)

von Nico (Gast)


Lesenswert?

Hier noch der Link, falls es sich wirklich mal jemand anschauen will ^^

http://www.alekto-programming.com/modules.php?name=Content&pa=list_pages_categories&cid=2

von Magnastat (Gast)


Lesenswert?

Du schiebst meine Aussagen Thomas in die Schuhe.

Wenn Du so lötest, wie Du liest, dann ist es vollkommen wurscht, ob
Deine Programme fehlerfrei sind.

von Karl heinz B. (kbucheg)


Lesenswert?

> Ich finde meinen Quelltext sehr übersichtlich (den gibts immer zu
> den Tutorials, falls du es übersehen hast)!

Bis jetzt wollte ich dazu noch nichts sagen.
Bei den meisten Firmen wärst du zumindest ermahnt worden, wenn
du so programmierst:
* Einrückungen nicht konsistent
* Mal wird ein {}-Block in dieselbe Zeile geschrieben, mal
  kommt er unter das auslösende if

Sieh das nicht als ungerechtfertigtes Niedermachen, sondern
als konstruktive Kritik.

von Nico (Gast)


Lesenswert?

Das mit dem einrücken ist leider durch das kopieren
(Zwangs-Zeilenumbrüche, etc) von AVR-Studio --> Homapage --> Hierher
etaws durcheinander gekommen...
Übrigens kannst du den Programmierstil nicht so verallgemeinern, es
gibt sehr viele (akzeptierte) Möglichkeiten die Klammern zu setzen...
(Freue mich schon auf die Kommentare dazu)

Immerhin ist es niemand aufgefallen, dass ich eine geschw. Klammer
mit-weggekürzt hatte...

############################
void blink(uint8_t Iterations)
{
uint8_t i;
i = 0;
    while(i < Iterations){
        i += 1;
        PORTB |= (1<<PORTB0); // HIGH setzen
        _delay_ms(500); //je 500ms pausieren
        PORTB &= ~(1<<PORTB0); // LOW setzen
        _delay_ms(500); //je 500ms pausieren

        if(!(PIND & (1<<PIND2))){
            Zahl = 1;
            break;
        };
    }
}

von Karl heinz B. (kbucheg)


Lesenswert?

>>Wenn man ihn so wie auf dem Bild sockelt, ist es ein Wunder
>>wenn da vor lauter Wackelkontakten überhaupt was geht.
>>Einmal kurz am Board anstossen und schon hast du eine
>>Spike-orgie an allen Pins.

> Noch so ein Mr. Allwissend...

Aus eigener (leidvoller) Erfahrung: Alles schon gehabt.

von Karl heinz B. (kbucheg)


Lesenswert?

> (Zwangs-Zeilenumbrüche, etc) von AVR-Studio --> Homapage --> Hierher

Ich rede nicht von hier.
Ich rede von deiner Homepage.

von Karl heinz B. (kbucheg)


Lesenswert?

> Übrigens kannst du den Programmierstil nicht so verallgemeinern, es
> gibt sehr viele (akzeptierte) Möglichkeiten die Klammern zu
> setzen...

Natürlich gibt es die.
Aber alle sind sich einig:
Entscheide dich für einen Stil und zieh ihn durch.
In einem Programm und der einen Hälfte einen Stil zu verwenden
und dann in der anderen Hälfte einen anderen, wird nirgends
toleriert.

zb hier: direkt von deiner Homepage kopiert. Ein paar Kommentare
hab ich rausgenommen, damit man sieht wie inkonsistent da
eingerückt ist.

int main(void)
{
DDRB |= (1<<DDB0); // Als Ausgang setzen
DDRD &= ~(1<<DDD2); // Als Eingang setzen
PORTD |= (1<<PORTD2); // Internen Pull-Up Widerstand aktivieren
Modus = 0; // Am Anfang solls ja AUS sein...

while(1==1){ // Endlosschleife
    if(!(PIND & (1<<PIND2))){
        if (Modus == 7){
            Modus = 0; // Aus
        }
        else{
            Modus += 1; // Modus um 1 erhöhen
        };
        _delay_ms(100);
        while(!(PIND & (1<<PIND2))){;
        _delay_ms(25); //je 25ms pausieren
        }
    }
    if (Modus > 0){ // Wenn modus größer Null also NICHT Aus, dann...
        if (!(PORTB & (1<<PORTB0))){
            PORTB |= (1<<PORTB0); // HIGH setzen
        }
        else{ // sonst
            PORTB &= ~(1<<PORTB0); // LOW setzen
        }
    }
// Die Pausierungen zwischen den Zustandswechseln...
if (Modus == 1){_delay_ms(20);};
if (Modus == 2){_delay_ms(15);};
if (Modus == 3){_delay_ms(10);};
if (Modus == 4){_delay_ms(5);};
if (Modus == 5){_delay_ms(2);};
if (Modus == 6){_delay_ms(1);};
if (Modus == 7){}; // kein Delay

};
return 0;
}

Das muss dir doch selbst auffallen, dass da was nicht stimmt.
Übrigens: nach einer schliessenden } kommt kein ;

von Nico (Gast)


Angehängte Dateien:

Lesenswert?

Im Anhang der Original-Quellcode... (Step7.c)

Die ; nach den } sind nicht verboten (macht man vielleicht nicht,
liefern auch keine Fehler)

Warum ich folgendes geschrieben habe ist mir aber selber ein Rätsel :P

        while(!(PIND & (1<<PIND2))){;

von Nico (Gast)


Lesenswert?

btw: Habe ich jemals gesagt, dass ich mit meiner Syntax einen Preis
gewinnen will?

Ihr solltet euch lieber freuen, dass hier ein Anfänger (!) anderen
Anfängern (!) etwas beibringen will...

von Karl heinz B. (kbucheg)


Lesenswert?

> Im Anhang der Original-Quellcode... (Step7.c)

Und? Hat immer noch dieselbe scheusliche, inkonsistente
Formatierung.

> Die ; nach den } sind nicht verboten

Du brauchst mir die Feinheiten der C-Syntax wirklich
nicht beibringen. Nach 20 Jahren kann ich die aus dem FF.

> macht man vielleicht nicht,

Die macht man sogar ganz sicher nicht.

> Ihr solltet euch lieber freuen, dass hier ein Anfänger (!)
> anderen Anfängern (!) etwas beibringen will...

Kein Grund so gereizt zu reagieren. OK ich geb zu, dass
Eröffnungsposting war etwas gemein.
Grundsätzlich begrüße ich es wenn Anfänger für Anfänger schreiben.
Nur solltest du dir von Profis auch was sagen lassen. Sonst
geht nämlich das 'Anfänger für Anfänger' schnell in die Hose.
Und wenn man ein Tutorial schreibt, ist man immer gut beraten
das ganze Machwerk zunächst mal einem Profi zu zeigen. Erstens
lernst du was dabei, zweitens werden ganz einfache Fehler
(so wie inkonsistente Formatierung) in kürzester Zeit ausgemerzt
und Drittens lästern dann Besucher nicht an banalen Dingen rum.

von Thomas (Gast)


Lesenswert?

Wie im ersten Beitrag erwähnt "Es ist ja schön, wenn sich junge Leute
mit solch einer Materie beschäftigen - und lobenswert, wenn sie
gelerntes oder zu lernendes niederschreiben..." - Aber das hast Du
wohl vor Wut überlesen. Naja - aber nochmal auf Dein "Hauptsache der
Kontakt ist hergestellt"! Sei froh, dass das Board nur mit 3,684MHz
(oder ähnlich) bestückt ist!!!

Laser & Co. Sorry - ich habe selber ein myAVR Board auf dem Tisch
liegen; aber die Leute haben auch nicht wirklich Ahnung vom Fach! Das
soll hier aber nicht Thema sein - mag nicht noch eine Diskussion vom
Zaun brechen. Die Boards sind zum Einstieg jedenfalls recht gut
geeignet und Preislich nicht überzogen!

Noch zum Code:
// Die Pausierungen zwischen den Zustandswechseln...
if (Modus == 1){_delay_ms(20);};
if (Modus == 2){_delay_ms(15);};
if (Modus == 3){_delay_ms(10);};
if (Modus == 4){_delay_ms(5);};
if (Modus == 5){_delay_ms(2);};
if (Modus == 6){_delay_ms(1);};
if (Modus == 7){}; // kein Delay

Der Block ist einfach nur Mies! Das kann man auch elegant lösen -> aber
von den Deutschen Saubermännern magst Du sicherlich keine Tipps annehmen
-> daher spare ich mir das man das auch mit z.B. switch / case machen
kann! ;-)

von Nico (Gast)


Lesenswert?

Ich sehe jetzt zar nicht was da so besonders inkonsistent sein soll...

> Du brauchst mir die Feinheiten der C-Syntax wirklich
> nicht beibringen. Nach 20 Jahren kann ich die aus dem FF.

Da liegt der kleine aber feine Unterschied...: ca 19,9 Jahre!

Dann kannst du als Profi ja den Anfang machen und den Quelltext
umschreiben... nur so als Gedankenanstoß.

So langsam wird das doch hier, wie heißt es doch gleich... konstruktiv
;)

von Nico (Gast)


Lesenswert?

@Thomas
1. Ich denke, dass die Leistung des ATMega8 ganz gut ausreicht...
2. Ist es wie gesagt für Anfänger, die vllt recht froh sind, wenn sie
nicht gleich mit switch-Anweisungen konfrontieren werden...

> Die Boards sind zum Einstieg jedenfalls recht gut
> geeignet und Preislich nicht überzogen!

Du sagts es: Für Anfänger

von Karl heinz B. (kbucheg)


Lesenswert?

> switch / case machen kann!

Auch ein Array als Lookup-Tabelle würde sich anbieten.

Aber darum gehts mir erst mal gar nicht (Da gibt es noch
eine andere Sequenz, die mir nicht wirklich gefällt).
Mir geht es darum, dass ein Tutorial, wenn schon nicht
algorithmisch ausgefeilt, dann doch zumindest ordentlich
formatierten Code herzeigt.
Das ein Anfänger nicht alle Tricks drauf hat, damit kann ich
leben. Aber eine derartige Formatierung ist durch nichts zu
entschuldigen. Und das schon gar nicht, wenn das Ganze in einem
Tutorial steht. Nicht umsonst achtet jeder Lehrer, der vom
Fach kommt, schon von Beginn an, bei den allereinfachsten
Sachen, auf Mindeststandards in der Codegestaltung.

von Karl heinz B. (kbucheg)


Angehängte Dateien:

Lesenswert?

> Ich sehe jetzt zar nicht was da so besonders inkonsistent sein
> soll...

Du musst was an den Augen haben :-)

Im Anhang mal eine konsistent formatierte Version.
Jeder schliessende } steht genau fluchtend
unter der Zeile, in der der öffnende { zu finden ist.

Ich mach dann auch noch eine etwas umgeschriebene Version
fertig.

von Nico (Gast)


Lesenswert?

Vllt habe ich ja was an den Augen...
aber bei meine Quelltext stehen } fluchtend unter { .
Mal abgesehen davon, dass ich bei nicht einzeiligen IF's und WHILE's
noch extra eingerückt bin (und dem unteren dicken IF-Block), sind die
Quelltexte exakt gleich...

Meiner:
http://www.mikrocontroller.net/attachment.php/383642/Step7.c

von Kritiker (Gast)


Lesenswert?

In keiner zivilierten Sprache wird der Plural durch Anhängen von
Apostroph-S gebildet.

von punktrichter (Gast)


Lesenswert?

"ziviliert" ist in diesem Zusammenhang gut

von Nico (Gast)


Lesenswert?

^^ oje, ich wollte damit die 'Syntax', also das IF und WHILE
unangetastet lassen und dadurch hervorheben...

von Henning S. (xtsi)


Lesenswert?

Will mich hier nicht einmischen, Gott bewahre, macht das unter euch aus,
nur ein Hinweis:

>Die ; nach den } sind nicht verboten (macht man vielleicht nicht,
liefern auch keine Fehler)

Nicht verboten -> Stimmt
liefern keine Fehler -> Stimmt

Aber (!!!)

bei einigen Compilern (zumindest früher mal, als ich C lernte) haben
die Semikolons einzelstehend (also auch nach schliessender } oder z.B.
i++;;;; ) eine leere Anweisung erzeugt, wenn Optimierung ausgeschaltet
war.
Nicht, dass das falsch ist, oder irgendjemand Compiler ohne Optimierung
nutzt oder irgendetwas, dies nur zu den "leeren" Semikolons als
Denkanstoss. ich "persönlich (!!!)" würde sie immer vermeiden.

Gruss,

XtSI

von Nico (Gast)


Lesenswert?

Danke für einen der wenigen konstruktiven Beiträge.

ICh werde ihn mir in Zukunft zu Herzen nehmen

von Henning S. (xtsi)


Lesenswert?

Gerade mal nachgeschaut:
dem GCC, um dem es hier ja geht, erzeugt auch ohne einegschaltete
Optimierung KEINE leeren Anweisungen.

Also ist mein Einwurf zumindest bei diesem Compiler hinfällig.

Gruss,

XtSI

von Nico (Gast)


Lesenswert?

Trotzdem thx ;)

von Karl heinz B. (kbucheg)


Angehängte Dateien:

Lesenswert?

Hat etwas gedauert.
Wir bauen gerade das Büro um und hatten eine Diskussion
über die Wandfarbgestaltung.

Hier also mein Vorschlag.
Ich konnte ihn noch nicht durch den Compiler jagen, weil
ich keinen WinAvr auf meiner Büromaschine habe.

von Karl heinz B. (kbucheg)


Lesenswert?

Ach, in dem Code gehts ja gar nicht ums Blinken.
Da hängt ja ein Lautsprecher dran. Mein Fehler.

Dann würde ich eine Variable umbennen
(BlinkZeit -> FrequenzZeit) und ein paar
Kommentare anpassen.

von Karl heinz B. (kbucheg)


Lesenswert?

> sind die Quelltexte exakt gleich...

<Resignierend> Du hast was an den Augen.

von André K. (freakazoid)


Lesenswert?

So. Jetzt ich ;-)
Was ist eine 'FrequenzZeit' schauder ?

Einmischende Grüße, Freakazoid

von Karl heinz B. (kbucheg)


Lesenswert?

Na ja, die Wartezeit die man beim Pin
Toggeln einhalten muss, damit sich eine
bestimmte Frequenz ergibt :-)
Ist doch völlig logisch, oder nicht?

Mir ist auf die Schnelle nichts Besseres
eingefallen.

von Unbekannter (Gast)


Lesenswert?

Mein Schwanz ist größer als Deiner! Bah! Und jetzt geh wieder in den
Sandkasten zum Spielen!

von Nico (Gast)


Lesenswert?

rofl ^^

Dein Code funzt leider nicht bei mir...

von punktrichter (Gast)


Lesenswert?

FrequenzZeit!=Stromspannung

von Karl heinz B. (kbucheg)


Lesenswert?

> Dein Code funzt leider nicht bei mir...

Wie gesagt: Ich hab keinen WinAvr auf der Maschine.

(Jetzt wirds mir zu blöd. Ich hol mir einen vom Web)

von ---- (Gast)


Lesenswert?

@Nico:
Prinzipiell stimme ich mit Karl Heinz überein, was die Formatierung
betrifft. Aber wenn das das einzige "Problem" ist, das in deinem
Tutorium gefunden wurde (habs mir nicht angesehen), dann kannst du das
schon fast als Lob ansehen. :-)

----, (QuadDash).

von Karl heinz B. (kbucheg)


Lesenswert?

So.
Soweit ich das im Simulator gesehen habe, hat sich
ein Fehler eingeschlichen. Nicht schlecht dafür, dass
ich das ganze nie getestet habe :-)

anstatt
      Modus = ( Modus + 1 ) & 0x08;

muss es:

      Modus = ( Modus + 1 ) & 0x07;

heissen. Ich will ja durch 8 dividieren und den Rest
davon übrig behalten. D.h. alles bis auf die untersten
3 Bit auf 0 setzen.

Eigentlich geschieht's mir Recht :-) Da predige ich den
Leuten immer und immer wieder, dass man solche Low-Level
Optimierungen dem Compiler überlassen soll, d.h.
schreib was du haben willst

       Modus = ( Modus + 1 ) % 8;

Der Compiler optimiert das dann schon so zurecht, dass es im
Endeffekt in einen AND mündet. Zur Ehrenrettung kann ich
nur sagen, dass die Variante

       Modus = ( Modus + 1 ) & 0x07;

noch einen Tick besseren Code erzeugt. Liegt daran, dass der
Compiler das mit 8 Bit rechnet,während er für die % Variante
auf 16 Bit Arithmetik umschaltet.

von mr.chip (Gast)


Lesenswert?

Hallo

Macht mal halblang mit diesem Perfekt-Löten-Extremismus. Wenn ich meine
ersten Löt-Erzeugnisse (A/D-Wandler an der parallelen Schnittstellen
sowie AVR-ISP) ansehe, dann stehen mir die Haare zu Berge. Aber die
Dinger funktionieren seit 2 bzw. einem halben Jahr einwandfrei. Auch
heute noch graust mir meine Löterei ziemlich, aber sowohl ein kleines
Roboter-Board als auch ein 'Controller' für die Gameboy-Kamera
funktioniert einwandfrei.

Wenn man bedenkt, dass solche kleineren Platinen mit Controller, ein
paar ICs und etwas Hühnerfutter in einem Abend gelötet sind, die Hard-
und Softwareentwicklung hingegen Wochen oder Monate dauern kann, wird
wohl augenfällig, was den guten Bastler ausmacht...

Gruss

Michael

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.