ATmega16 IO-Pins Konfiguration

OP #1226764
Lesenswert?
• ▲
▼
Nabend.

Ich möchte an meinem ATMega16 den Pin 3, 16 und 17 als normalen INPUT 
Pin benutzen. Das geht auch bei allen Pins bis auf bei Pin 17 (PortD3).
Alle drei Pins sind genau gleich konfiguriert. Ich arbeite mit Bascom.

Pin17 hat immer 5V egal ob ich versuche ihn mit nem 500 Ohm Wiederstand 
auf Masse zu ziehen, oder nicht.

Woran liegt das?


Vielen Dank im vorraus für eure Hilfe!!

Gruß, Lukas.
Gast #1226790
Lesenswert?
• ▲
▼
Hi

@ Gast: Was ist mit "Zeile 42" gemeint?

Statistisch hat sich herausgestellt, das in unbekannten Programmen, der 
Fehler mit grosser Wahrscheinlichkeit in Zeile 42 ist. Korealiert mit 
der Frage nach dem Sinn des Lebens (bitte Gurgel bemühen).

MfG Spess
OP #1226931
Lesenswert?
• ▲
▼
Ooops, ja es war gestern schon spät am Abend,.. sorry, hier das 
Programm:
1
$regfile = "m16def.dat"
2
$crystal = 8000000
3

4

5
';;;;LCD-Initialisierung
6
   Rw Alias Portc.5                                         'Alias für den RW pin am LCD
7
   Helligkeit Alias Portc.7                                 'Alias für den Pin zur Steuerung der Helligkeit der LCD-HIntergrundbeleuchtung
8
   Config Portc = Output
9
   Rw = 0                                                   'RW auf Low
10
   Helligkeit = 0                                           'Hintergrundbeleuchtung aus
11
   Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.6 , Rs = Portc.4
12
   Config Lcd = 20 * 2
13
   Initlcd
14
   'Cursor Off
15
   Cls
16
';;;;
17

18

19
';;;;Encoder-Initialisierung
20

21
Config Portb.2 = Input                                      'Pins als eingang definieren                              '
22
Config Portd.2 = Input
23
Config Portd.3 = Input
24
Portb.2 = 1                                                 'Pull ups aktivieren
25
Portd.2 = 1
26
Portd.3 = 1
27

28

29

30
';;;;Hauptprogramm
31

32

33

34

35
Do                                                           'Zustand der Eingänge auf LCD anzeigen
36
   Cls
37
   Locate 1 , 1
38
   If Pinb.2 = 1 Then
39
   Lcd "PB2 "
40
   End If
41

42
   If Pind.2 = 1 Then
43
   Lcd "PD2 "
44
   End If
45

46
   If Pind.3 = 1 Then
47
   Lcd "PD3 "
48
   End If
49
   Wait 1
50
Loop

Die Schaltung besteht derzeit nur noch darin, dass ich den entprechenden 
Pin mit einen 500 Ohm Widerstand auf Masse ziehe oder nicht.

Vielen Dank!

Gruß, Lukas.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren