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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.