Atemga16 Bascom Shiftin Problem PINA.0

Gast #2316005
Lesenswert?
• ▲
▼
Hallo,

ich habe ein Problem. und zwar.

ich habe insgesammt 6 PINs am Atmega16 die ich mittels Shiftin abfrage.
an PortC habe ich keine Probleme.
PortC. 0,2,4,6

wenn ich jetzt aber PortA.0 & 2 Abfrage geht PortA.0 "anscheinend" 
nicht.
"anscheinend" weil ich PortA.2 zuvor abfrage auf Signale um 
festzustellen ob was angeschlossen ist.

ich habe auch schon einen anderen µC versucht.

weiß einer rat bzw. hat einer eine idee?
Gast #2316180
Lesenswert?
• ▲
▼
"geht nicht" soll heißen das die am PIN ankommenden daten immer gleich 
sind.
signale kommen aber am Pin an und ändern sich auch
1
$regfile = "m16def.dat"                                     'definieren des verwendeten Chips
2

3
$crystal = 16000000
4

5
$hwstack = 32
6
$swstack = 40
7
$framesize = 40
8

9
Config Watchdog = 1024                                      'Watchdog Wert ca. 1sec
10

11
Ddra = &B00001010
12
Porta = &B00000000
13

14
Ddrc = &B10101010
15
Portc = &B00000000
16

17
Ddrd = &B00000000
18
Portd = &B00000000
19

20
'########### Variablen #########################################################
21
Dim L As Long
22

23

24
'########### L C D #############################################################
25

26

27
Dim ___lcdno As Byte
28

29
Config Lcd = 40 * 2
30

31
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.2 , E2 = Portb.3 , Rs = Portb.0
32

33
___lcdno = 0
34
Initlcd
35
Cls
36
Cursor Off
37

38
___lcdno = 1
39
Initlcd
40
Cls
41
Cursor Off
42

43

44
'##### S T A R T B E D I N G U G E N ###########################################
45
Porta.1 = 0
46
Porta.3 = 0
47
'Portc.1 = 0
48
'Portc.3 = 0
49

50

51
'##### M A I N L O O P #########################################################
52
Main:                                                       'Hauptprogramm
53

54
Do
55

56

57
   Start Watchdog
58
   L = 0
59
   Shiftin Pina.0 , Pina.2 , L , 7 , 24
60
   Reset Watchdog
61

62
   ___lcdno = 0
63
   Locate 2 , 1
64
   Lcd Str(l)
65
   Waitms 10
66

67
'   Start Watchdog
68
'   L = 0
69
'   Shiftin Pinc.0 , Pinc.2 , L , 7 , 24
70
'   Reset Watchdog
71

72
'   ___lcdno = 0
73
'   Locate 1 , 1
74
'   Lcd Str(l)
75
'   Waitms 10
76

77
Loop

Ich habe nur eine hardware bis jetzt. deshalb klammer ich aus und steck 
diese um. am PortC funktioniert alles. nur an PortA nicht.
#2317541
Lesenswert?
• ▲
▼
Grmpf, nein sie sind nicht gesetzt. Ich bin in der Zeile verrutscht. 
Sorry.

Was ich mir noch vorstellen könnte: Du importierst doch da eine LCD 
library. Die sind sehr speicherintensiv. Insbesondere im stack. Versuch 
mal den stack drastisch zu vergrößern. 128byte minimum. Vielleicht hast 
du ja einen Stapelüberlauf.

Thor
Gast #2317652
Lesenswert?
• ▲
▼
Der erzeugte Maschinencode ist in Ordnung und entspricht wenn auf PortC 
konfiguriert exakt dem Code für PortA, mit Ausnahme der Registeradressen 
natürlich.

Wenn die Bascom-Version alt ist, dann auf die neueste Version updaten, 
ansonsten nach einem Hardwareproblem schauen, z.B. AVCC nicht 
angeschlossen oder 2tes GND vergessen.

karsten schrieb:
> weil ich PortA.2 zuvor abfrage auf Signale um
> festzustellen ob was angeschlossen ist.

Davon ist im Code nichts zu sehen. Auch hat in solchem Testcode ein WD 
nichts zu suchen, also wirf den raus.
#2319064
Lesenswert?
• ▲
▼
was ist WD?

zweite GND und AVCC ist angeschlossen.

Aber das Problem hat sich geklärt. Auch wenn nicht Aufgeklärt.

Habe den Hardwareteil neu aufgebaut und nun geht es an PortA4-7. keine 
Ahnung wieso das nicht ging bzw. geht.

ich denke eventuell EMV.

danke für die Mühen.
gruß karsten

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 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.