mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik attiny 2313 code problem


Autor: jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo ich habe disen code von 
http://www.sachsendreier.com/msw/projekte/tastendr...
für den attiny2313 verändert es geht soweit gabz gut aber ich möchte nun 
noch eine zurück funktion programmieren
P.S ich habe noch nicht so ne erfahrun beim programmieren


Schon mal danke für eure antworten :)

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jonas schrieb:
> ich möchte nun
> noch eine zurück funktion programmieren

Du musst schon etwas genauer werden.

Autor: jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also wenn man auf den einen taster drückt wander der balkem immer eine 
stufe höher und ich möchte noch ein taster haben wo das umgekerte der 
fall ist hir der code :


#include <avr/io.h>

#define F_CPU 1000000UL  // 1 MHz
#include <util/delay.h>

#include "boarddefs.h"



int main(void){

  //Zaehlvariable
  int z=0;

  //alle PORTS sind Ausgaenge
  DDRB = 255;  DDRD = 255;

  //PC0 wieder loeschen -> PC0 ist nun Eingang
  DDRD &= ~_BV(PD3);

  //alle LEDs aus bzw. alle PULL UPs an, wo Eingänge definiert
  PORTB = 255;    PORTD = 255;

  while (1){

    //Wenn Taste gedrueckt
    if (bit_is_clear(PIND,3)) {

      z++;
      if (z==15) z=1;

      PORTB=255;  PORTD=255;


   if (z==1) led11on ;
      if (z==2) led9on ;
      if (z==3) led8on ;
      if (z==4)  led7on ;
      if (z==5)led6on;
      if (z==6) led5on;
      if (z==7) led4on ;
      if (z==8)  led14on;
      if (z==9)  led13on;
      if (z==10)  led2on ;


      //warten, bis Taste losgelassen wird
      while (bit_is_clear(PIND,3)) {_delay_ms(100);}

    }

    //nochmal warten
    _delay_ms(100);

  }
return(0);
}

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine weitere If-Anweisung, die nach einem anderen Taster fragt und wenn 
gedrückt wird, dann dekrementierst du den den Zähler z.
Könnte dir zwar auch den fertigen Code geben, aber da lernst du nicht 
soviel dabei, als wenn du dir selbst darüber den Kopf zerbrichst.

Autor: jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so z.b ?  if (bit_is_clear(PIND,4)) {

Autor: jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und if (z==15) z=2;

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jonas schrieb:
> so z.b ?  if (bit_is_clear(PIND,4)) {
ja

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Skript Kiddy schrieb:
> und if (z==15) z=2;
Was soll diese Zeile denn bringen?

Autor: jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
keine ahnung

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jonas schrieb:
> keine ahnung
Na dann fang lieber erst mal mit den Basics an und lass ein Licht 
blinken, bevor du dich an solche Sachen wagst.
Hier findest du einen guten Leitfaden:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

Autor: jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe schon lichter blinken lassen

Autor: jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
while (bit_is_clear(PIND,4)) {_delay_ms(100);}
 ist das auch richtig ?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> und if (z==15) z=2;
>Was soll diese Zeile denn bringen?

>keine ahnung

Dann mach dich vom Acker. Vollidioten kann man nicht helfen.

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
> Dann mach dich vom Acker. Vollidioten kann man nicht helfen.

Danke für die Ansage. Ich habs nicht übers Herz gebracht.

Autor: jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ihr seit aber nett -.-

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jonas schrieb:
> ihr seit aber nett -.-

Was erwartest du?

Programmieren funktioniert nun mal nicht nach dem Muster:
Ich schreib einfach mal irgendwas hin.

Du musst dir dabei ja auch was gedacht haben. Was soll daher die Ansage 
"keine Ahnung"

Wenn du mein Schüler wärst, würde ich dir den Source Code wegnehmen und 
du müsstest die ganze Aufgabe noch einmal, aber diesmal eigenständig(!) 
bearbeiten.
Programme von Webseiten abschreiben - dabei lernt man nichts.

Übrigens:
Der Programmaufbau deines Musters ist zwar für die gegebene 
Aufgabenstellung einigermassen ok. Er verallgemeinert allerdings 
schlecht, von daher ist er eher unbrauchbar.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.