Monitor motorhome leisure battery and provide simple control of habitation
Dependencies: net lpc1768 crypto clock web fram log
lpc1768-this/periphs.c@10:a97a7cb7aa82, 2022-06-10 (annotated)
- Committer:
- andrewboyson
- Date:
- Fri Jun 10 18:32:21 2022 +0000
- Revision:
- 10:a97a7cb7aa82
- Parent:
- 9:d957af50fdc2
Corrected amp second count in html
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
andrewboyson | 2:5229cab71d69 | 1 | #define PCONP (*((volatile unsigned *) 0x400FC0C4)) |
andrewboyson | 2:5229cab71d69 | 2 | #define PCLKSEL0 (*((volatile unsigned *) 0x400FC1A8)) |
andrewboyson | 2:5229cab71d69 | 3 | #define PCLKSEL1 (*((volatile unsigned *) 0x400FC1AC)) |
andrewboyson | 2:5229cab71d69 | 4 | #define PINSEL0 (*((volatile unsigned *) 0x4002C000)) |
andrewboyson | 2:5229cab71d69 | 5 | #define PINSEL1 (*((volatile unsigned *) 0x4002C004)) |
andrewboyson | 2:5229cab71d69 | 6 | #define PINSEL2 (*((volatile unsigned *) 0x4002C008)) |
andrewboyson | 2:5229cab71d69 | 7 | #define PINSEL3 (*((volatile unsigned *) 0x4002C00C)) |
andrewboyson | 2:5229cab71d69 | 8 | #define PINSEL4 (*((volatile unsigned *) 0x4002C010)) |
andrewboyson | 2:5229cab71d69 | 9 | #define PINMODE0 (*((volatile unsigned *) 0x4002C040)) |
andrewboyson | 2:5229cab71d69 | 10 | #define PINMODE4 (*((volatile unsigned *) 0x4002C050)) |
andrewboyson | 2:5229cab71d69 | 11 | #define PINMODE_OD0 (*((volatile unsigned *) 0x4002C068)) |
andrewboyson | 2:5229cab71d69 | 12 | #define PINMODE_OD1 (*((volatile unsigned *) 0x4002C06C)) |
andrewboyson | 2:5229cab71d69 | 13 | #define PINMODE_OD2 (*((volatile unsigned *) 0x4002C070)) |
andrewboyson | 0:b843d647695c | 14 | |
andrewboyson | 0:b843d647695c | 15 | void PeriphsInit (void) |
andrewboyson | 0:b843d647695c | 16 | { |
andrewboyson | 0:b843d647695c | 17 | //Peripheral power - Table 46 |
andrewboyson | 0:b843d647695c | 18 | PCONP = 0; |
andrewboyson | 0:b843d647695c | 19 | PCONP |= 1 << 1; //TIMER0 |
andrewboyson | 0:b843d647695c | 20 | PCONP |= 1 << 2; //TIMER1 |
andrewboyson | 0:b843d647695c | 21 | PCONP |= 1 << 3; //UART0 |
andrewboyson | 2:5229cab71d69 | 22 | PCONP |= 1 << 6; //PWM1 |
andrewboyson | 0:b843d647695c | 23 | PCONP |= 1 << 9; //RTC |
andrewboyson | 0:b843d647695c | 24 | PCONP |= 1 << 10; //SSP1 |
andrewboyson | 9:d957af50fdc2 | 25 | PCONP |= 1 << 14; //PCCAN2 |
andrewboyson | 0:b843d647695c | 26 | PCONP |= 1 << 15; //GPIO |
andrewboyson | 0:b843d647695c | 27 | PCONP |= 1 << 16; //RIT |
andrewboyson | 2:5229cab71d69 | 28 | PCONP |= 1 << 19; //I2C1 |
andrewboyson | 0:b843d647695c | 29 | PCONP |= 1 << 30; //ENET |
andrewboyson | 0:b843d647695c | 30 | |
andrewboyson | 0:b843d647695c | 31 | //Peripheral clock must be selected before PLL0 enabling and connecting; default is 00 divide by 4; need 01 to have divide by 1 |
andrewboyson | 0:b843d647695c | 32 | PCLKSEL0 = 0; |
andrewboyson | 0:b843d647695c | 33 | PCLKSEL0 |= 1 << 2; //TIM0 |
andrewboyson | 0:b843d647695c | 34 | PCLKSEL0 |= 1 << 4; //TIM1 |
andrewboyson | 0:b843d647695c | 35 | PCLKSEL0 |= 1 << 6; //UART0 |
andrewboyson | 2:5229cab71d69 | 36 | PCLKSEL0 |= 1 << 12; //PWM1 |
andrewboyson | 0:b843d647695c | 37 | PCLKSEL0 |= 1 << 20; //SSP1 |
andrewboyson | 2:5229cab71d69 | 38 | |
andrewboyson | 2:5229cab71d69 | 39 | PCLKSEL1 = 0; |
andrewboyson | 2:5229cab71d69 | 40 | PCLKSEL1 |= 1 << 20; //I2C1 |
andrewboyson | 0:b843d647695c | 41 | |
andrewboyson | 0:b843d647695c | 42 | //Pin functions table 80. |
andrewboyson | 0:b843d647695c | 43 | PINSEL0 = 0; |
andrewboyson | 2:5229cab71d69 | 44 | PINSEL0 |= 3U << 0; //P0.00 11 SDA1 I2C1 |
andrewboyson | 2:5229cab71d69 | 45 | PINSEL0 |= 3U << 2; //P0.01 11 SCL1 I2C1 |
andrewboyson | 0:b843d647695c | 46 | PINSEL0 |= 1U << 4; //P0.02 01 TXD0 UART0 |
andrewboyson | 0:b843d647695c | 47 | PINSEL0 |= 1U << 6; //P0.03 01 RXD0 UART0 |
andrewboyson | 9:d957af50fdc2 | 48 | PINSEL0 |= 2U << 8; //P0.04 11 RD2 PCCAN2 |
andrewboyson | 9:d957af50fdc2 | 49 | PINSEL0 |= 2U << 10; //P0.05 11 TD2 PCCAN2 |
andrewboyson | 0:b843d647695c | 50 | PINSEL0 |= 2U << 14; //P0.07 10 SCK1 SSP1 |
andrewboyson | 0:b843d647695c | 51 | PINSEL0 |= 2U << 16; //P0.08 10 MISO1 SSP1 |
andrewboyson | 0:b843d647695c | 52 | PINSEL0 |= 2U << 18; //P0.09 10 MOSI1 SSP1 |
andrewboyson | 0:b843d647695c | 53 | |
andrewboyson | 0:b843d647695c | 54 | PINSEL1 = 0; |
andrewboyson | 2:5229cab71d69 | 55 | |
andrewboyson | 0:b843d647695c | 56 | PINSEL2 = 0; |
andrewboyson | 0:b843d647695c | 57 | PINSEL2 |= 1U << 0; //P1.00 01 ENET_TXD0 |
andrewboyson | 0:b843d647695c | 58 | PINSEL2 |= 1U << 2; //P1.01 01 ENET_TXD1 |
andrewboyson | 0:b843d647695c | 59 | PINSEL2 |= 1U << 8; //P1.04 01 ENET_TX_EN |
andrewboyson | 0:b843d647695c | 60 | PINSEL2 |= 1U << 16; //P1.08 01 ENET_CRS |
andrewboyson | 0:b843d647695c | 61 | PINSEL2 |= 1U << 18; //P1.09 01 ENET_RXD0 |
andrewboyson | 0:b843d647695c | 62 | PINSEL2 |= 1U << 20; //P1.10 01 ENET_RXD1 |
andrewboyson | 0:b843d647695c | 63 | PINSEL2 |= 1U << 28; //P1.14 01 ENET_RX_ER |
andrewboyson | 0:b843d647695c | 64 | PINSEL2 |= 1U << 30; //P1.15 01 ENET_REF_CLK |
andrewboyson | 0:b843d647695c | 65 | |
andrewboyson | 0:b843d647695c | 66 | PINSEL3 = 0; |
andrewboyson | 0:b843d647695c | 67 | PINSEL3 |= 1U << 0; //P1.16 01 ENET_MDC |
andrewboyson | 0:b843d647695c | 68 | PINSEL3 |= 1U << 2; //P1.17 01 ENET_MDIO |
andrewboyson | 2:5229cab71d69 | 69 | |
andrewboyson | 2:5229cab71d69 | 70 | PINSEL4 = 0; |
andrewboyson | 2:5229cab71d69 | 71 | PINSEL4 |= 1U << 0; //P2.00 01 PWM1.1 |
andrewboyson | 2:5229cab71d69 | 72 | |
andrewboyson | 2:5229cab71d69 | 73 | PINMODE0 = 0; |
andrewboyson | 2:5229cab71d69 | 74 | PINMODE0 |= 2U << 0; //P0.00 10 SDA1 I2C1 Neither pull up nor pull down |
andrewboyson | 2:5229cab71d69 | 75 | PINMODE0 |= 2U << 2; //P0.01 10 SCL1 I2C1 Neither pull up nor pull down |
andrewboyson | 2:5229cab71d69 | 76 | |
andrewboyson | 2:5229cab71d69 | 77 | PINMODE_OD0 = 0; |
andrewboyson | 2:5229cab71d69 | 78 | PINMODE_OD0 |= 1 << 0; //P0.00 10 SDA1 I2C1 Open drain mode |
andrewboyson | 2:5229cab71d69 | 79 | PINMODE_OD0 |= 1 << 1; //P0.01 10 SCL1 I2C1 Open drain mode |
andrewboyson | 0:b843d647695c | 80 | } |