Beste leden,

Ik heb voor school een opdracht gekregen een quizmaster te maken.
Het probleem ik heb 1 led en 1 schakelaar op 1 pin bij player 1 (PORTC0 tot en met 4) werkt het programma perfect schakelaar indrukken programma onthoud dat en maakt van diezelfde pin een lage output zodat de led die op dezelfde pin zit gaat branden.

Bij player 2 werkt het niet, ik wil weten waarom niet, op die pinnen het gaat om de B6 en 7 de PGD en PGC.
Deze ziet de pic namelijk als een 0 op zijn input(schakelaar ingedrukt) terwijl deze gewoon met een pullup aan de 5V ligt (ik weet dat PortB interne pullups heeft maar de printjes zijn met pullups uitgevoerd).

De pic blijft denken dat B6 en 7 zijn ingedrukt en vliegt van input naar output B7 is namelijk de reset en als je die indrukt gaat de B4 tot en met 7 uit en maakt hij ze weer ingang als ze dat niet zijn.
Maar alleen bij player 2 gebeurt dit Bij deze 2 pinnen door de snelheid blijven ze beide branden.
De code van player2 is identiek aan player 1 op de pinnen na.


If AP2 = 0 And QuizBIT = 0 And Player2H = 0 Then      ' Begin met uitlezen ABCD en LEDS schakelen
Low AP2
Print At 4,1, "Player 2 geeft A "
Player2H = 1
ElseIf BP2 = 0 And QuizBIT = 0 And Player2H = 0 Then
Low BP2
Print At 4,1, "Player 2 geeft B "
Player2H = 1
ElseIf CP2 = 0 And QuizBIT = 0 And Player2H = 0 Then
Low CP2
Print At 4,1, "Player 2 geeft C "
Player2H = 1
ElseIf DP2 = 0 And QuizBIT = 0 And Player2H = 0 Then
Low DP2                         
Print At 4,1, "Player 2 geeft D " 
Player2H = 1
ElseIf HP2 = 0 And QuizBIT = 0 And Player2H = 1 Then
Input AP2
Input BP2
Input CP2
Input DP2
Print At 4,1, "Player 2 Herstelt"
Player2H = 0                         ' Einde ABCD en reset Player2
EndIf

Wat bedoel je met "1 led en 1 schakelaar op 1 pin" hoe heb je dat gedaan?

Zeker dat alles goed aangesloten is? Overall pullups? Schema?

Heb je hardware of software ontdendering voor de knoppen?

dag mede student,

je gebruikt geen Tab's. Het is een lap code onder elkaar wat voor ons wat minder overzichtelijk is.


if blabla=blabla then
      doe dit
      doe dat
else
      doe dit
      doe dat
endif

misschien dat je dan zelfs je probleem al ziet


If AP2 = 0 And QuizBIT = 0 And Player2H = 0 Then      ' Begin met uitlezen ABCD en LEDS schakelen
	Low AP2
	Print At 4,1, "Player 2 geeft A "
	Player2H = 1

ElseIf BP2 = 0 And QuizBIT = 0 And Player2H = 0 Then
	Low BP2
	Print At 4,1, "Player 2 geeft B "
	Player2H = 1
	ElseIf CP2 = 0 And QuizBIT = 0 And Player2H = 0 Then
	Low CP2
	Print At 4,1, "Player 2 geeft C "
	Player2H = 1

ElseIf DP2 = 0 And QuizBIT = 0 And Player2H = 0 Then
	Low DP2                         
	Print At 4,1, "Player 2 geeft D " 
	Player2H = 1

ElseIf HP2 = 0 And QuizBIT = 0 And Player2H = 1 Then
	Input AP2
	Input BP2
	Input CP2
	Input DP2
	Print At 4,1, "Player 2 Herstelt"
	Player2H = 0                         ' Einde ABCD en reset Player2
EndIf

zo,nu is het voor iedereen leesbaar.
Ben je aan het ICP'en? dan moet je even je programmer eruit trekken. Die zal de pinnetjes laag houden.

Mod-edit: Kan je zelf ook eens op je postgedrag letten?

[Bericht gewijzigd door Henry S. op (64%)]

@Bas Smit:

Zoals vermeld werkt precies hetzelfde perfect voor player 1.
en idd gewoon 1 led en 1 schakelaar op 1 pin.

@VWG3JB:

Dan zal me programmer het probleem zijn hij wordt momenteel namelijk ook gevoed via mijn programmer. (ICD2)