Problem mit der Eingangs-/Ausgangsspannung im PIC32-Starterkit und der E/A-Erweiterungskarte

Ich habe ein PIC32 Ethernet Starter kitund IO expansion board. Ich habe ein einfaches Eingabe-Ausgabe-Programm erstellt, in dem wenn PINC2hoch ist, dann PINC1hoch sonst niedrig ist. Ich habe eine Schaltung, die mir eine Ausgangsspannung von 3,3 V liefert, und ich lege diese Spannung als Eingang an PINC2. Aber es gibt ein Spannungsproblem bei PINC1.

Wenn PINC2niedrig, Spannung bei PINC1= 3,276 V

Wenn PINC2hoch ist, Spannung bei PINC1= 2,8-2,9

Meine Frage ist, wenn die Spannung PINC2niedrig ist, warum die Spannung PINC13,276 V beträgt, sollte sie 0 Volt betragen. und wenn die Spannung PINC2hoch ist, warum die Spannung PINC12,8-2,9 V beträgt, sollte sie 3,276 V betragen. Ich bin wirklich verwirrt darüber. Bitte helfen Sie

CODE:

int main() 
{

   TRISCbits.TRISC1=0; //output
   TRISCbits.TRISC2=1; //input
   while(1)
   {

       if(PORTCbits.RC2==1) 
       {

          PORTCbits.RC1=1; 
       }
       else if(PORTCbits.RC2==0)
       {

          PORTCbits.RC1=0; 
       }
   }
}

Verbindung zur Schaltung mit 3,3-V-Ausgang

Was ist die tatsächlich gemessene Spannung an PINC2, wenn sie hoch und niedrig ist? Gibt es außer dem Optokopplerausgang noch andere Verbindungen zu PINC2? Irgendwelche anderen Verbindungen zu PINC1 (Pullup/Pulldown/andere Schaltkreise)? Funktioniert die Schaltung ohne Opto? (PINC2 direkt von der 3,3-V-Versorgung ansteuern?) Können Sie schließlich unabhängig überprüfen, ob Sie PINC1 tatsächlich hoch und niedrig ansteuern? Versuchen Sie, es direkt im Code umzuschalten?
1) tatsächlich gemessene Spannung an PINC2 bei niedrig = 0,75 und wie kann ich sie bei hoch messen, weil ich 3,3 V von Kopplern anlege. 2)keine Verbindungen an PINC2. 3) Keine Verbindungen an PINC1, aber ich weiß nichts über Pulldown/High, da es sich um eine E/A-Erweiterungskarte handelt. Wenn nichts vorhanden ist, sind es 3,276 V, also ist es vielleicht ein Pullup. 4) Ja, es funktioniert ohne Optokoppler, ich habe ein Programm aus Schalter und LED erstellt und es funktioniert. 5) Ja, es funktioniert
Bitte isolieren Sie PinC2 und messen Sie die hohen und niedrigen Ausgangsspannungspegel mit einem DMM. Bitte posten Sie auch die hohen und niedrigen Werte, wenn Sie PinC2 mit Opto verbinden.

Antworten (1)

Zusätzlich zu Ihrer TRISC-Konfiguration müssen Sie möglicherweise das ANSC-Register löschen. Dadurch wird der Port in den digitalen Modus versetzt und die analogen Funktionen des Pins deaktiviert. Sie haben das genaue PIC-Modell nicht erwähnt, daher kann ich die genaue Funktionalität von RC1 nicht überprüfen. Ich bin einmal darauf gestoßen, als ich einen Pin als UART-Eingang konfiguriert habe, aber der Eingang hat den digitalen Rx nie gelesen, weil er als analoger Pin konfiguriert war. Ich würde außerdem alle anderen Funktionen von RC2 überprüfen und alle diese Funktionen als deaktiviert konfigurieren (z. B. ADC).