MC 167 IO Eingang

OP #353800
Lesenswert?

Ich hab folgendes Problem, zwar ist es echt simple aber ich kann es
nicht im griff bekommen.Ich hab ein Borad MC 167 CR von Phytec und
programiere in Keil.

Ich kann einfach an die Reihe krigen einen IO Eingang zu konfigurieren
oder zu realisiern.
Ich will das wenn auf dem Port 8.3 ein Signal kommt das sich die LED's
von Port 2 aufleuchten
bzw. ausgehen wenn kein Signal da ist.
Der Port scheint irrgendwie das Signal nicht war zu nehem ich hab schon
mit anderen Ports probiert,
aber das Problem ist das gleiche. Er erkennt nicht das da ein Signal
anligt.
Hab schon mit eine wait funktion versucht damit er bischien Zeit hat
nach der if Anweisung, aber klappt
auch nicht. Die Spannung kommt Direkt von Board also dürfte keine
Probleme mit Masse sein.

Ich hiff ihr könnt mir weiter helfen hab schon vieles probiert aber
momentan stehe ich auf den Schlauch.
Hier ist der C Code:

#include <mc167.h>

sbit DP83 = DP8^3;
sbit P83 = P8^3;

void main()
{
  int x=0;
  DP2=0xffff; // POrt 2 als Ausgabe
  P2=0x0000;  // Led´s leuchten
  DP83=0;    // Port 8.3 als Eingabe (Eingang)
  do{
      x=P83; // x ist der wert von P83
      if(x == 0)
      {
      P2=0xffff;
      }else
         {
         P2=0x0000;
         }
  }while(1)
}

Danke für jegliche Hilfe!
Gast #353811
Lesenswert?

Hallo Sebastian,

wie schaltest du am dem port 8.3. über einen pull-up-widerstand? so
würde ich das machen, das der schalter dann auf masse durchverbindet.

der port sollte so inizialisiert werden: variablennamen sind natürlich
beliebig.

sbit Ex_In =  P8^3;
sbit Ex_In_Dir = DP8^3;
sbit Ex_In_Open_Drain = ODP8^3;

und dann
Ex_In_Dir = 0; //pin is an input
Ex_In_Open_Drain = 1 //driver in open drain mode

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