Prova questo:
RecvInput = mPORTBRead();
Quindi per l'output:
mPORTBWrite(value);
Domanda
Di recente ho iniziato a lavorare con un microcontrollore PIC32MX764F128H, sono abituato a fare le cose su Pic18 e Pic24 ... AKA usando il compilatore CCS C, quindi sono curioso spillo.
Ad esempio, se PIN_B0 è input e ho un 3,3 V collegato a esso (questo chip utilizza 3.3 non 5V), vorrei leggere Pin_C0 come 0V, ma se PIN_B0 è messo a terra, vorrei che Pin_C0 legga un segnale elevato di 3.3 v
Sono molto arrugginito per questo su un'applicazione di livello così basso e non ricordo come farlo in C. Sotto è un po 'di quello che ho finora in C, ma non è compilato e MPLAB è terribile nell'assistere ai problemi di codice.
#fuses HS,NOLVP,NOWDT,PUT
int main()
{
TRISB=0;//all of Port B is input
TRISC=1;//all of Port C is output
int RecvInput;
while(true)
{
RecvInput = ??? //how do I get from Pin_B0 ??
if(Recv==0)
{
//HOW DO I SAY PIN_C0 = HIGH
}
else //PIN_C0 = 0
}
}
Soluzione
Prova questo:
RecvInput = mPORTBRead();
Quindi per l'output:
mPORTBWrite(value);