Forum: Mikrocontroller und Digitale Elektronik Atmega32 spinnt rum


von Blinky B. (Gast)


Lesenswert?

Hallo an alle,

ich hoffe ihr könnt mir helfen..also erstmal zu den Kenndaten
Pollin Board
ISP programmer(auf dem pollin board)
compiler avr studio 4
kommunikation ponyprog
uc Atmega32

also ich habe das testprogramm von pollin draufgeladen, welches zwar
funktioniert jedoch rumspinnt.
Auch bei eigenen Programmen scheint der Atmega32 rumzuspinnen.
Er reagiert oftmals nicht bei Tastendruck und wenn er reagiert kommt es
auch ab und zu vor, dass er die falsche Led ansteuert. (im Testprogramm
und eigenen testroutinen)

Wisst ihr vllt woran das liegen kann???

Kann eine nicht korrekte Tastenentprellung dafür sorgen, dass eine
falsche LED angesteuert wird?? Sprich der falsche Port auf HIGH gesetzt
wird? Oder liegen die Gründe wo anders?
Beitrag melden | Bearbeiten | Thread löschen | Markierten Text zitieren 
| Antwort | Antwort mit Zitat

von Floh (Gast)


Lesenswert?

Alexander Herfurtner schrieb:
> Wisst ihr vllt woran das liegen kann???

am nichtvorhandenen Programm?

von spess53 (Gast)


Lesenswert?

Hi

Warum 2 x?

Beitrag "Einfaches Blinklicht??"

MfG Spess

von Blinky B. (Gast)


Lesenswert?

ich habe den anderen beitrag gelöscht, da der betreff nicht richtig 
war...sorry;(

von Blinky B. (Gast)


Lesenswert?

1
#include <stdint.h>
2
#include <avr/io.h> 
3
#include <avr/interrupt.h>
4
5
6
7
int main(void)
8
9
{
10
11
12
13
14
//PORTD
15
DDRD =(1<<PD6)|(1<<PD5); // PD5 und PD6 Ausgang
16
PORTD = 0x00; 
17
18
19
   while(1)
20
   
21
   {  
22
   
23
           if ((PORTD & (1<<PD2)) == (1<<PD2))
24
        {
25
      while((PORTD & (1<<PD2)) == (1<<PD2))
26
      {}
27
       
28
         if ((PORTD & (1<<PD5)) == (1<<PD5))
29
           {
30
           PORTD &= ~(1<<PD5);
31
          }
32
        else
33
        {
34
           PORTD |= (1<<PD5);
35
        }
36
37
      }
38
        
39
40
41
   }                        
42
43
44
 
45
  
46
47
48
return 0;
49
}

Also hier kommt es vor, dass auch die 2. LED (PD6) aufleuchtet. Außerdem 
reagiert der ATMEGA32 nicht jedes mal auf den Tastendruck

von Thomas E. (thomase)


Lesenswert?

Alexander Herfurtner schrieb:
> Außerdem
>
> reagiert der ATMEGA32 nicht jedes mal auf den Tastendruck

Welche Taste?

mfg.

von Blinky B. (Gast)


Lesenswert?

Taste 1 --> PD2
LED 1 --> PD5
LED 2 --> PD6

von Thomas E. (thomase)


Lesenswert?

Alexander Herfurtner schrieb:
> Taste 1 --> PD2

Dann musst du den Port aber auch lesen!
>if ((PORTD & (1<<PD2)) == (1<<PD2))

Das Lesen des Portpins macht man nicht mit PORTx, damit liest man das 
Portregister, sondern mit PINx.

Deswegen hat so mancher in seine Tastatur gebissen.

mfg.

von Blinky B. (Gast)


Lesenswert?

oh man!
werd's sofort ausbessern!
aber für Schreibvorgänge nutzt man PORT oder?

von Martin (Gast)


Lesenswert?

ja

von Blinky B. (Gast)


Lesenswert?

okai funktioniert=)!

danke euch!

von Martin (Gast)


Lesenswert?

unter I/O Ports, Seite 49, im Datenblatt ist die Architektur gut 
dargestellt

von Blinky B. (Gast)


Lesenswert?

Martin schrieb:
> unter I/O Ports, Seite 49, im Datenblatt ist die Architektur gut
> dargestellt

danke!

von Martin V. (oldmax)


Lesenswert?

Hi
Noch ein kleiner Tip. Du kannst dir den Umweg über Ponyprog sparen, wenn 
du dir einen USB-ISP- Progger zulegst. Gibt's in der Bucht für ca.20 €. 
Vorteil, 1. Der besagte Umweg
2. vieeel schneller
3. freier Comport. Z. B. um mit OpenEye die Variableninhalte aus dem 
Controller zu lesen. OpenEye ist von mir und ist eigentlich für 
Assemblerprogramme zugesschnitten. Wenn du dir aus C ein 
Assemblerlisting erstelen kannst, wird's auch funktionieren. Du findest 
es hier irgendwo. Such einfach nach OpenEye.
Gruß oldmax

von Thomas E. (thomase)


Lesenswert?

Martin Vogel schrieb:
> Gibt's in der Bucht für ca.20 €.

Kauf dir bloß nicht so einen Billigscheiß.

AVRISP MKII und sonst gar nichts.

mfg.

von Blinky B. (Gast)


Lesenswert?

okai ich danke euch für eure Tipps! sehr aufmerksam=)

und den usb progger werde ich mir denke ich mal zulegen, jedoch 
später...denke für das kleine projekt wird der isp progger von pollin 
reichen..denke die programme werden nicht allzu groß!

gruß

alexito

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.