Forum: Mikrocontroller und Digitale Elektronik [PIC24] UART2: Kann man RP137 als U2RX Pin nutzen?


von BeastyK (Gast)


Lesenswert?

Moin,

ich glaube das der Betreff schon meine Frage beinhaltet, ich hab hier 
den PIC24FJ256GA106.
Ich hab gemerkt das man nicht jeden RP-Pin über PPS als U2TX Pin nutzen 
kann, die Register hören da bei RP30 glaub ich auf.
Da ich nur noch den RC14/RP137 Pin frei habe, wollte ich den dann als 
U2TX-Pin über PPS routen.

Hier mal kurz ein Stück des PPS-Code:
1
__builtin_write_OSCCONL(OSCCON & 0xBF);  // Unlock PPS
2
       
3
  // Configure SPI1 PPS pins (ENC28J60/ENCX24J600/MRF24WB0M or other PICtail Plus cards)
4
  // RPOR0bits.RP0R = 8;    // Assign RP0 to SCK1 (output)
5
  // RPOR7bits.RP15R = 7;  // Assign RP15 to SDO1 (output)
6
  // RPINR20bits.SDI1R = 23;  // Assign RP23 to SDI1 (input)
7
   /*** SPI **********************************************************************/  
8
   // SDO1 RP23 N = n+1 = 23, y = n/2 = 11 : RPOR<y>bits.RP<N>R
9
   //RPOR11bits.RP23R = 7; // SDO1
10
   // SDI1 RP24
11
   //RPINR20bits.SDI1R = 24;
12
   // SCK
13
   //RPOR9bits.RP18R = 8;
14
   /******************************************************************************/
15
  // Configure SPI2 PPS pins (25LC256 EEPROM on Explorer 16)
16
  //  RPOR10bits.RP21R = 11;  // Assign RG6/RP21 to SCK2 (output)
17
  //  RPOR9bits.RP19R = 10;  // Assign RG8/RP19 to SDO2 (output)
18
  //  RPINR22bits.SDI2R = 26;  // Assign RG7/RP26 to SDI2 (input)
19
  //
20
   /*** UART2 ********************************************************************/  
21
    RPINR19bits.U2RXR = 137;  // Assign RC14/RP137/PTP15 to U2RX (input)
22
    RPOR7bits.RP14R = 5;  // Assign RB14/RP14/PTP5 to U2TX (output)
23
  /*******************************************************************************/
24
  //
25
  //  // Configure INT1 PPS pin (MRF24WB0M Wi-Fi PICtail Plus interrupt signal when in SPI slot 1)
26
  //  RPINR0bits.INT1R = 33;  // Assign RE8/RPI33 to INT1 (input)
27
28
__builtin_write_OSCCONL(OSCCON | 0x40); // Lock PPS

Weiß jemand ob man das mit dem RP137 so machen kann?

Gruß
dat
Beast

von c-hater (Gast)


Lesenswert?

BeastyK schrieb:

> ich glaube das der Betreff schon meine Frage beinhaltet, ich hab hier
> den PIC24FJ256GA106.
> Ich hab gemerkt das man nicht jeden RP-Pin über PPS als U2TX Pin nutzen
> kann, die Register hören da bei RP30 glaub ich auf.
> Da ich nur noch den RC14/RP137 Pin frei habe, wollte ich den dann als
> U2TX-Pin über PPS routen.

Und warum fragst du nicht einfach das Datenblatt, ob das möglich ist?

Weil: Um dir deine Frage beantworten zu können, müßte ich erstmal genau 
das tun und jeder andere wohl auch.

Ich sehe aber nicht ein, daß ich für dich tue, was du genausogut auch 
gleich selber tun kannst, denn die Datenblätter darf ja jeder 
runterladen und einsehen.

von BeastyK (Gast)


Lesenswert?

Moin und danke c-hater,

ob so gewollt oder nicht, du hast mich dazu gebracht mir das Datasheet 
und speziell den Abschnitt über die PPS Pins nochmal richtig anzusehen!

1) Richtig heißt es im Pindiagram RC14/RPI37, es ist ein I und keine 1!
Das I steht hier dafür das der Pin nur als Input Remappable zulässig ist 
und nicht als Output Remappable, somit auch nicht im Register beim 
Output vorkommt!

2) Wenn ich die 1 bei 137 in
1
RPINR19bits.U2RXR = 137;  // Assign RC14/RP137/PTP15 to U2RX (input)"
weglasse, sollte es klappen.

Richtig heißt die Zeile dann:
1
RPINR19bits.U2RXR = 37;  // Assign RC14/RPI37/PTP15 to U2RX (input)

Was zu beweisen wäre!

Gruß
dat
Beast

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.