rc SDA rc SCL SPI MOSI 3.3 v GPIO e2 GPIO e3 GPIO GND GPIO ...
LPC2148 - GPIO
Transcript of LPC2148 - GPIO
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
LPC2148 - GPIO
Dr.R.SundaramurthyDepartment of EIE
Pondicherry Engineering College
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
Parallel Port – Port 0
• Port 0 = 32 Bits (P0.0 to P0.31)
• P0.24, P0.26 and P0.27 are not available
• So (32-3) = 29 Pins are Available
• Out of 29 Pins, 28 Pins Bidirectional,
Pin 31 O/P Only
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
Parallel Port – Port 1
• Port 1 = 16 Bits P1.16 to P1.31
• P1.0 to P1.15 of port 1 are
• ====================================
• P0 = 29 (28 Bidirectional + 1 output only)
• P1 = 16 (16 Bidirectional)
• Total = 45 GPIOs
• ====================================
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
Parallel Port
P0 = 29 Pins
P1 = 16 Pins
-------------------
Total = 45 Pins
--------------------
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
Pins Used For GPIO in our Board
P0
P1
P2
P0.8- P0.15
P1.16- P1.23
P1.24- P1.31
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
SFRs Used
• IODIR1
• IOSET1
• IOCLR1
• IOPIN1
P0 P1
• IODIR0 to set the direction
• IOSET0 to set a Pin
• IOCLR 0 to clear a Pin
• IOPIN0 to Read a Pin
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
IODIR1 Output 0 Input
• IODIR controls the 'direction' of the GPIO pin.
• You use this register to set a GPIO pin to either Input (0) or Output (1).
• To Configure GPIO 0.10 to 'Output' (1).
GPIO0_IODIR |= (1 << 10);
• To Configure GPIO 0.10 to ‘Input' (0).
GPIO0_IODIR &= ~(1 << 10);
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
1 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
P0.0 = Input
P0.1 = Output
IODIR01 Output0 Input
Writing a 1 Pin is configured as Output
Writing a 0 Pin is configured as Input
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
IOSET and IOCLR
• If GPIO pin is set as Output (using the IODIR register), then
• IOSET is used to set GPIO pin to 'high'(providing a small 3.3V electrical output)
• IOCLR is used to clear it to 'low' (providing a connection to GND).
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
1 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
No Effect
Pin P0.1 = 3.3 V
IOSET0
Writing a 1 Pin is set to High
Writing a 0 No Effect
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
1 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
No Effect
Pin P0.1 = 0 V
IOCLR0
Writing a 1 Pin is cleared to Low
Writing a 0 No Effect
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
A small Example• // Make sure GPIO 0.10 and 0.11 are set to
output
• IODIR0 |= (1 << 10) | (1 << 11);
• // Turn the LEDs off using IOCLR (which gives a GND connection)
• IOCLR0 |= (1 << 10) | (1 << 11);
• // Turn the LEDs on using IOSET (which supplies 3.3V
• IOSET0 |= (1 << 10) | (1 << 11);
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
IOPIN
• Regardless of whether GPIO pin's direction is set to Input or Output,
• IOPIN register is used to read the current 'state' of every GPIO pin(all 32 pins in GPIO).
• A 1 value means that the pin is currently 'high', and a 0 value means the pin is currently 'low'.
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
A Small Example
int getPinState(int pinNumber) {
// Read the current state of all pins in GPIO block 0
int pinBlockState = GPIO0_IOPIN;
// Read the value of 'pinNumber'
int pinState = (pinBlockState & (1 << pinNumber)) ? 1 : 0;
// Return the value of pinState
return pinState;
}
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
LED Blink Program#include<lpc21xx.h>
void delay(void);
int main()
{
IODIR0=0xFFFFFFFF;
while(1)
{
IOSET0=0xFF00;
delay();
IOCLR0=0xFF00;
delay();
}
}
void delay(void)
{
int i;
for(i=0;i<=600000;i++);
}
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
P0
P1
P2
P0.8- P0.15
P1.16- P1.23
P1.24- P1.31
Pins & Ports
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
Ports & Pins
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 Pins
P0P1P2
For our convenience
ARM P0.8-P0.15 ARM P1.16-P0.23 ARM P1.23-P1.31
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
List of Functions
void writepin(int pinnumber,int pinvalue);
void writeport(int portnumber,int portvalue);
int readpin(int pinnumber);
int readport(int portnumber);
void delay(void);
pinnumber = (8 to 31)
portnumber = (0 to 2)
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
writepinvoid writepin(int pinnumber,int pinvalue)
{
// P0 = P0.8 - P0.15
if (pinnumber >= 8 && pinnumber <= 15 )
{
IODIR0 = IODIR0 | (1 << pinnumber);
if (pinvalue)
IOSET0 = IOSET0 | (1 << pinnumber);
else
IOCLR0 = IOCLR0 | (1 << pinnumber);
}
// P1 = P1.16 - P1.23
if (pinnumber >= 16 && pinnumber <= 31 )
{
IODIR1 = IODIR1 | (1 << pinnumber);
if (pinvalue)
IOSET1 = IOSET1 | (1 << pinnumber);
else
IOCLR1 = IOCLR1 | (1 << pinnumber);
}
}
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
writeportvoid writeport(int portnumber,int portvalue)
{
int i;
if (portnumber == 0)
{
//P0 ==> P0.8 to P0.15
for (i=0;i<8;i++)
{
if (portvalue & 0x01 << i)
writepin(i+8,1);
else
writepin(i+8,0);
}
}
else if (portnumber == 1)
{
//P1 ==> P1.16 to P1.23
for (i=0;i<8;i++)
{
if (portvalue & 0x01 << i)
writepin(i+16,1);
else
writepin(i+16,0);
}
}
else if (portnumber == 2)
{
//P2 ==> P1.24 to P1.31
for (i=0;i<8;i++)
{
if (portvalue & 0x01 << i)
writepin(i+24,1);
else
writepin(i+24,0);
}
}
else
{
i=0 ; // dummy
}
}
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
readpinint readpin(int pinnumber)
{
int temp,mask ;
if (pinnumber >= 8 && pinnumber <= 15)
{
mask = ~(0x01 << pinnumber);
IODIR0 = IODIR0 & mask ; // pinnumber = input
temp = IOPIN0 ;
if (temp & (0x01 << pinnumber))
return 1 ;
else
return 0;
}
if (pinnumber >= 16 && pinnumber <= 31)
{
mask = ~(0x01 << pinnumber);
IODIR1 = IODIR1 & mask ; // pinnumber = input
temp = IOPIN1 ;
if (temp & (0x01 << pinnumber))
return 1 ;
else
return 0;
}
}
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
readportint readport(int portnumber)
{
int temp ;
if (portnumber == 0 )
{
//P0.8 to P0.15
IODIR0 = IODIR0 & 0xFFFF00FF;
temp = IOPIN0 ;
temp = temp & 0x0000FF00;
return (temp >> 8) ;
}
else if (portnumber == 1 )
{
//P1.16 to P1.23
IODIR1 = IODIR1 & 0xFF00FFFF;
temp = IOPIN1 ;
temp = temp & 0x00FF0000;
return (temp >> 16) ;
}
else if (portnumber == 2 )
{
//P1.24 to P1.31
IODIR1 = IODIR1 & 0x00FFFFFF;
temp = IOPIN1 ;
temp = temp & 0xFF000000;
return (temp >> 24) ;
}
else
temp=0; // dummy
}
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
Software delay()
void delay()
{
unsigned int i;
for(i=0;i<200000;i++);
}
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
Toggle LED @ P0.15, using software delay
#include<LPC214x.h>
#include "GPIO.h"
int main()
{
while(1)
{
writepin(15,1);
delay();
writepin(15,0);
delay();
}
}
XTAL162
XTAL261
P0.0/TxD0/PWM119
P0.1/RxD0/PWM3/EINT021
P0.2/SCL0/CAP0.022
P0.3/SDA0/MAT0..0/EINT126
P0.4/SCK0/CAP0.1/AD0.627
P0.5/MISO0/MAT0.1/AD0.729
P0.6/MOSI0/CAP0.2/AD1.030
P0.7/SSEL0/PWM2/EINT231
P0.8/TxD1/PWM4/AD1.133
P0.9/RxD1/PWM6/EINT334
P0.10/RTS1/CAP1.0/AD1.235
P0.11/CTS1/CAP1.1/SCL137
P0.12/DSR1/MAT1.0/AD1.338
P0.13/DTR1/MAT1.1/AD1.439
P0.14/DCD1/EINT1/SDA141
P0.15/RI1/EINT2/AD1.545
P0.16/EINT0/MAT0.2/CAP0.246
P0.17/CAP1.2/SCK1/MAT1.247
P0.18/CAP1.3/MISO1/MAT1.353
P0.19/MAT1.2/MOSI1/CAP1.254
P0.20/MAT1.3/SSEL1/EINT355
P0.21/PWM5/AD1.6/CAP1.31
P0.22/AD1.7/CAP0.0/MAT0.02
P0.2358
P0.25/AD0.4/AOUT9
P0.27/AD0.0/CAP0.1/MAT0.111
P0.28/AD0.1/CAP0.2/MAT0.213
P0.29/AD0.2/CAP0.3/MAT0.314
P0.30/AD0.3/EINT3/CAP0.015
V323
RST57
VREF63
VSS6
VSSA59
P1.16/TRACEPKT016
P1.17/TRACEPKT112
P1.18/TRACEPKT28
P1.19/TRACEPKT34
P1.20/TRACESYNC48
P1.21/PIPESTAT044
P1.22/PIPESTAT140
P1.23/PIPESTAT236
P1.24/TRACECLK32
P1.25/EXTIN028
P1.26/RTCK24
P1.27/TDO64
P1.28/TDI60
P1.29/TCK56
P1.30/TMS52
P1.31/TRST20
V343
V351
VSS18
VSS25
VSS42
VSS50
RTXC13
RTXC25
V3A7
VBAT49
P0.3117
P0.26/AD0.510
U1
LPC2138
+3.3V
12
X1
C1
33pF
C2
33pF
12
X2
C3
22pF
C4
22pF
R11K
C5100pF
+3.3V
D2
LED-YELLOW
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
Toggle LEDs @ P0, using software delay
#include<LPC214x.h>
#include "GPIO.h"
int main()
{
while(1)
{
writeport(0,0x00);
delay();
writeport(0,0xFF);
delay();
}
}
XTAL162
XTAL261
P0.0/TxD0/PWM119
P0.1/RxD0/PWM3/EINT021
P0.2/SCL0/CAP0.022
P0.3/SDA0/MAT0..0/EINT126
P0.4/SCK0/CAP0.1/AD0.627
P0.5/MISO0/MAT0.1/AD0.729
P0.6/MOSI0/CAP0.2/AD1.030
P0.7/SSEL0/PWM2/EINT231
P0.8/TxD1/PWM4/AD1.133
P0.9/RxD1/PWM6/EINT334
P0.10/RTS1/CAP1.0/AD1.235
P0.11/CTS1/CAP1.1/SCL137
P0.12/DSR1/MAT1.0/AD1.338
P0.13/DTR1/MAT1.1/AD1.439
P0.14/DCD1/EINT1/SDA141
P0.15/RI1/EINT2/AD1.545
P0.16/EINT0/MAT0.2/CAP0.246
P0.17/CAP1.2/SCK1/MAT1.247
P0.18/CAP1.3/MISO1/MAT1.353
P0.19/MAT1.2/MOSI1/CAP1.254
P0.20/MAT1.3/SSEL1/EINT355
P0.21/PWM5/AD1.6/CAP1.31
P0.22/AD1.7/CAP0.0/MAT0.02
P0.2358
P0.25/AD0.4/AOUT9
P0.27/AD0.0/CAP0.1/MAT0.111
P0.28/AD0.1/CAP0.2/MAT0.213
P0.29/AD0.2/CAP0.3/MAT0.314
P0.30/AD0.3/EINT3/CAP0.015
V323
RST57
VREF63
VSS6
VSSA59
P1.16/TRACEPKT016
P1.17/TRACEPKT112
P1.18/TRACEPKT28
P1.19/TRACEPKT34
P1.20/TRACESYNC48
P1.21/PIPESTAT044
P1.22/PIPESTAT140
P1.23/PIPESTAT236
P1.24/TRACECLK32
P1.25/EXTIN028
P1.26/RTCK24
P1.27/TDO64
P1.28/TDI60
P1.29/TCK56
P1.30/TMS52
P1.31/TRST20
V343
V351
VSS18
VSS25
VSS42
VSS50
RTXC13
RTXC25
V3A7
VBAT49
P0.3117
P0.26/AD0.510
U1
LPC2138
+3.3V
12
X1
C1
33pF
C2
33pF
12
X2
C3
22pF
C4
22pF
R11K
C5100pF
+3.3V
D1
LED-YELLOWD2
LED-YELLOWD3
LED-YELLOWD4
LED-YELLOWD5
LED-YELLOWD6
LED-YELLOWD7
LED-YELLOWD8
LED-YELLOW
P0
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
Read Pin @ P1.31 & control @ P0.15
#include<LPC214x.h>
#include "GPIO.h"
int main()
{
int mydata;
while(1)
{
mydata = readpin(31);
if (mydata == 0)
writepin(15,1);
else
writepin(15,0);
}
}
XTAL162
XTAL261
P0.0/TxD0/PWM119
P0.1/RxD0/PWM3/EINT021
P0.2/SCL0/CAP0.022
P0.3/SDA0/MAT0..0/EINT126
P0.4/SCK0/CAP0.1/AD0.627
P0.5/MISO0/MAT0.1/AD0.729
P0.6/MOSI0/CAP0.2/AD1.030
P0.7/SSEL0/PWM2/EINT231
P0.8/TxD1/PWM4/AD1.133
P0.9/RxD1/PWM6/EINT334
P0.10/RTS1/CAP1.0/AD1.235
P0.11/CTS1/CAP1.1/SCL137
P0.12/DSR1/MAT1.0/AD1.338
P0.13/DTR1/MAT1.1/AD1.439
P0.14/DCD1/EINT1/SDA141
P0.15/RI1/EINT2/AD1.545
P0.16/EINT0/MAT0.2/CAP0.246
P0.17/CAP1.2/SCK1/MAT1.247
P0.18/CAP1.3/MISO1/MAT1.353
P0.19/MAT1.2/MOSI1/CAP1.254
P0.20/MAT1.3/SSEL1/EINT355
P0.21/PWM5/AD1.6/CAP1.31
P0.22/AD1.7/CAP0.0/MAT0.02
P0.2358
P0.25/AD0.4/AOUT9
P0.27/AD0.0/CAP0.1/MAT0.111
P0.28/AD0.1/CAP0.2/MAT0.213
P0.29/AD0.2/CAP0.3/MAT0.314
P0.30/AD0.3/EINT3/CAP0.015
V323
RST57
VREF63
VSS6
VSSA59
P1.16/TRACEPKT016
P1.17/TRACEPKT112
P1.18/TRACEPKT28
P1.19/TRACEPKT34
P1.20/TRACESYNC48
P1.21/PIPESTAT044
P1.22/PIPESTAT140
P1.23/PIPESTAT236
P1.24/TRACECLK32
P1.25/EXTIN028
P1.26/RTCK24
P1.27/TDO64
P1.28/TDI60
P1.29/TCK56
P1.30/TMS52
P1.31/TRST20
V343
V351
VSS18
VSS25
VSS42
VSS50
RTXC13
RTXC25
V3A7
VBAT49
P0.3117
P0.26/AD0.510
U1
LPC2138
+3.3V
12
X1
C1
33pF
C2
33pF
12
X2
C3
22pF
C4
22pF
R11K
C5100pF
+3.3V
D2
LED-YELLOW
R21K
+3.3V
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
Read Pin @ P1.31 & control @ P0.15
#include<LPC214x.h>
#include "GPIO.h"
int main()
{
int mydata;
while(1)
{
mydata = readpin(31);
if (mydata == 0)
writepin(15,1);
else
writepin(15,0);
}
}
XTAL162
XTAL261
P0.0/TxD0/PWM119
P0.1/RxD0/PWM3/EINT021
P0.2/SCL0/CAP0.022
P0.3/SDA0/MAT0..0/EINT126
P0.4/SCK0/CAP0.1/AD0.627
P0.5/MISO0/MAT0.1/AD0.729
P0.6/MOSI0/CAP0.2/AD1.030
P0.7/SSEL0/PWM2/EINT231
P0.8/TxD1/PWM4/AD1.133
P0.9/RxD1/PWM6/EINT334
P0.10/RTS1/CAP1.0/AD1.235
P0.11/CTS1/CAP1.1/SCL137
P0.12/DSR1/MAT1.0/AD1.338
P0.13/DTR1/MAT1.1/AD1.439
P0.14/DCD1/EINT1/SDA141
P0.15/RI1/EINT2/AD1.545
P0.16/EINT0/MAT0.2/CAP0.246
P0.17/CAP1.2/SCK1/MAT1.247
P0.18/CAP1.3/MISO1/MAT1.353
P0.19/MAT1.2/MOSI1/CAP1.254
P0.20/MAT1.3/SSEL1/EINT355
P0.21/PWM5/AD1.6/CAP1.31
P0.22/AD1.7/CAP0.0/MAT0.02
P0.2358
P0.25/AD0.4/AOUT9
P0.27/AD0.0/CAP0.1/MAT0.111
P0.28/AD0.1/CAP0.2/MAT0.213
P0.29/AD0.2/CAP0.3/MAT0.314
P0.30/AD0.3/EINT3/CAP0.015
V323
RST57
VREF63
VSS6
VSSA59
P1.16/TRACEPKT016
P1.17/TRACEPKT112
P1.18/TRACEPKT28
P1.19/TRACEPKT34
P1.20/TRACESYNC48
P1.21/PIPESTAT044
P1.22/PIPESTAT140
P1.23/PIPESTAT236
P1.24/TRACECLK32
P1.25/EXTIN028
P1.26/RTCK24
P1.27/TDO64
P1.28/TDI60
P1.29/TCK56
P1.30/TMS52
P1.31/TRST20
V343
V351
VSS18
VSS25
VSS42
VSS50
RTXC13
RTXC25
V3A7
VBAT49
P0.3117
P0.26/AD0.510
U1
LPC2138
+3.3V
12
X1
C1
33pF
C2
33pF
12
X2
C3
22pF
C4
22pF
R11K
C5100pF
+3.3V
D2
LED-YELLOW
R21K
+3.3V
Dr.R.Sundaramurthy.,M.E.,Ph.D., [email protected] of EIE / PEC
Read Port @ P0 & control @ P1,P2
#include<LPC214x.h>
#include "GPIO.h"
int main()
{
int mydata;
while(1)
{
mydata = readport(0);
if (mydata < 128)
writeport(1,mydata);
else
writeport(2,mydata);
}
}
XTAL162
XTAL261
P0.0/TxD0/PWM119
P0.1/RxD0/PWM3/EINT021
P0.2/SCL0/CAP0.022
P0.3/SDA0/MAT0..0/EINT126
P0.4/SCK0/CAP0.1/AD0.627
P0.5/MISO0/MAT0.1/AD0.729
P0.6/MOSI0/CAP0.2/AD1.030
P0.7/SSEL0/PWM2/EINT231
P0.8/TxD1/PWM4/AD1.133
P0.9/RxD1/PWM6/EINT334
P0.10/RTS1/CAP1.0/AD1.235
P0.11/CTS1/CAP1.1/SCL137
P0.12/DSR1/MAT1.0/AD1.338
P0.13/DTR1/MAT1.1/AD1.439
P0.14/DCD1/EINT1/SDA141
P0.15/RI1/EINT2/AD1.545
P0.16/EINT0/MAT0.2/CAP0.246
P0.17/CAP1.2/SCK1/MAT1.247
P0.18/CAP1.3/MISO1/MAT1.353
P0.19/MAT1.2/MOSI1/CAP1.254
P0.20/MAT1.3/SSEL1/EINT355
P0.21/PWM5/AD1.6/CAP1.31
P0.22/AD1.7/CAP0.0/MAT0.02
P0.2358
P0.25/AD0.4/AOUT9
P0.27/AD0.0/CAP0.1/MAT0.111
P0.28/AD0.1/CAP0.2/MAT0.213
P0.29/AD0.2/CAP0.3/MAT0.314
P0.30/AD0.3/EINT3/CAP0.015
V323
RST57
VREF63
VSS6
VSSA59
P1.16/TRACEPKT016
P1.17/TRACEPKT112
P1.18/TRACEPKT28
P1.19/TRACEPKT34
P1.20/TRACESYNC48
P1.21/PIPESTAT044
P1.22/PIPESTAT140
P1.23/PIPESTAT236
P1.24/TRACECLK32
P1.25/EXTIN028
P1.26/RTCK24
P1.27/TDO64
P1.28/TDI60
P1.29/TCK56
P1.30/TMS52
P1.31/TRST20
V343
V351
VSS18
VSS25
VSS42
VSS50
RTXC13
RTXC25
V3A7
VBAT49
P0.3117
P0.26/AD0.510
U1
LPC2138
+3.3V
12
X1
C1
33pF
C2
33pF
12
X2
C3
22pF
C4
22pF
R11K
C5100pF
+3.3V
D9
LED-YELLOWD10
LED-YELLOWD11
LED-YELLOWD12
LED-YELLOWD13
LED-YELLOWD14
LED-YELLOWD15
LED-YELLOWD16
LED-YELLOW
P1
D17
LED-YELLOWD18
LED-YELLOWD19
LED-YELLOWD20
LED-YELLOWD21
LED-YELLOWD22
LED-YELLOWD23
LED-YELLOWD24
LED-YELLOW
P2
R210k
+3.3v
R310k
+3.3v
R410k
+3.3v
R510k
+3.3v
R610k
+3.3v
R710k
+3.3v
R810k
+3.3v
R910k
+3.3v
P0