PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : kann keine eingänge abfragen .. w00t



Julian
24.07.2006, 11:42
Hallo !!

aus irgendeinem grund kann ich keinen einzigen eingang an meinem mega 8 abfragen ..

$regfile = "m8def.dat"
$crystal = 16000000
$baud = 19200

Config Pinc.3 = Input
Set Portc.3

Do

If Portc.3 = 1 Then Print "1"
If Portc.3 = 0 Then Print "0"
Waitms 100
Loop

End

ich bekomm immer eine eins ausgegeben, auch wenn ich den pin an masse anlöte .. das der pin auch der richtige is sehe ich daran, das er wenn ich reset drücke auf gnd geht uns solbald das prgramm startet auf eins geht .. vorrausgesetzt er is nicht gerade an gnd angelötet ... ich hab auch schon einen anderen mega 8 probiert aber selbes problem ...

im kühnel buch machen die auch keine akrobatischen verwindungen um einen pin abzufragen, also was is da bloß los !?

plusminus
24.07.2006, 11:56
Also ich bin noch nicht so lange dabei, aber mit C...

Muss man nicht PINC.x abfragen ?

überprüfen mal ... ob wirjlich 16Mhz...

m8def.dat --> ATMega8 ?!? --> 16MHz :?: :?: :?:

Mehto
24.07.2006, 11:59
Kann es sein das auch bei Bascom PinC und nicht PortC abgefragt werden muss? (sind zwei verscheidene Register)

Viele Grüße,
Mehto

Julian
24.07.2006, 12:05
@ plusminus .. was is mit m8def.dat --> ATMega8 ?!? --> 16MHz gemeint ?? .. das is der may zulässige quarz !?!?

@ Metho .. ich glaub das is es .. werds gleich probieren .. danke !

plusminus
24.07.2006, 12:23
DU gibst die Datei für deinen ATMega8 an.

Schau mal ob du den mit 16MHz takten kannst / getaktet hast... (intern haben die meist ca 1MHz)

Julian
24.07.2006, 12:31
na ja .. wenn ich eine mega 8 verwende und eine 16 mhz quarz verwende dann sollt ich das auch tun .. oder? .. und dazu musste ich bei erstamliger benutzung des prozessors auch die fuses entsprechend programieren ...

wenn das nicht geklappt hätte, bzw falsch wäre würde ich im terminal fenster ja außerdem nur müll sehen .. wenn überhaut was kommen würde !

PicNick
24.07.2006, 12:52
If Pinc.3 = 1 Then Print "1"
If Pinc.3 = 0 Then Print "0"

Ringo
24.07.2006, 13:55
End if fehlt!

Hast du unten keine Fehlermeldung bekommen?

PicNick
24.07.2006, 13:59
End if fehlt!

Hast du unten keine Fehlermeldung bekommen?

Vermutlich nicht. In einer Zeile

If muh = "KUH" THEN PRINT "MUHKUH"

brauchst du kein end if

franzl
24.07.2006, 14:24
hallo,
es ist wie picnick schon gesagt hat du musst pinc.3 schreiben und nicht portc.3. bei bascom werden eingänge immer mit pin angesprochen und ausgänge mit port.
mfg franzl

Julian
24.07.2006, 15:04
Hallo .. ja danke .. das problem is gelöst .. war das ihr gesagt habt .. THX