Central Heating controller using the real time clock, PHY module for internet, 1-wire interface for temperature sensors, a system log and a configuration file

Dependencies:   net 1-wire lpc1768 crypto clock web fram log

/media/uploads/andrewboyson/heating.sch

/media/uploads/andrewboyson/heating.brd

/media/uploads/andrewboyson/eagle.epf

Committer:
andrewboyson
Date:
Fri Feb 16 19:43:06 2018 +0000
Revision:
5:82197a6997fd
Parent:
1:ccc66fdf858d
Child:
6:b325de442777
Removed reliance on defs.h

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 5:82197a6997fd 1 #define PCONP (*((volatile unsigned *) 0x400FC0C4))
andrewboyson 5:82197a6997fd 2 #define PCLKSEL0 (*((volatile unsigned *) 0x400FC1A8))
andrewboyson 5:82197a6997fd 3 #define PCLKSEL1 (*((volatile unsigned *) 0x400FC1AC))
andrewboyson 5:82197a6997fd 4 #define PINSEL0 (*((volatile unsigned *) 0x4002C000))
andrewboyson 5:82197a6997fd 5 #define PINSEL1 (*((volatile unsigned *) 0x4002C004))
andrewboyson 5:82197a6997fd 6 #define PINSEL2 (*((volatile unsigned *) 0x4002C008))
andrewboyson 5:82197a6997fd 7 #define PINSEL3 (*((volatile unsigned *) 0x4002C00C))
andrewboyson 5:82197a6997fd 8
andrewboyson 1:ccc66fdf858d 9
andrewboyson 1:ccc66fdf858d 10 void PeriphsInit (void)
andrewboyson 1:ccc66fdf858d 11 {
andrewboyson 1:ccc66fdf858d 12 //Peripheral power - Table 46
andrewboyson 5:82197a6997fd 13 PCONP = 0;
andrewboyson 5:82197a6997fd 14 PCONP |= 1 << 1; //TIMER0
andrewboyson 5:82197a6997fd 15 PCONP |= 1 << 2; //TIMER1
andrewboyson 5:82197a6997fd 16 PCONP |= 1 << 3; //UART0
andrewboyson 5:82197a6997fd 17 PCONP |= 1 << 9; //RTC
andrewboyson 5:82197a6997fd 18 PCONP |= 1 << 10; //SSP1
andrewboyson 5:82197a6997fd 19 PCONP |= 1 << 15; //GPIO
andrewboyson 5:82197a6997fd 20 PCONP |= 1 << 30; //ENET
andrewboyson 5:82197a6997fd 21
andrewboyson 5:82197a6997fd 22 //Peripheral clock must be selected before PLL0 enabling and connecting; default is 00 divide by 4; need 01 to have divide by 1
andrewboyson 5:82197a6997fd 23 PCLKSEL0 = 0;
andrewboyson 5:82197a6997fd 24 PCLKSEL0 |= 1 << 2; //TIM0
andrewboyson 5:82197a6997fd 25 PCLKSEL0 |= 1 << 4; //TIM1
andrewboyson 5:82197a6997fd 26 PCLKSEL0 |= 1 << 6; //UART0
andrewboyson 5:82197a6997fd 27 PCLKSEL0 |= 1 << 20; //SSP1
andrewboyson 1:ccc66fdf858d 28
andrewboyson 5:82197a6997fd 29 //Pin functions table 80.
andrewboyson 5:82197a6997fd 30 PINSEL0 = 0;
andrewboyson 5:82197a6997fd 31 PINSEL0 |= 1U << 4; //P0.02 01 TXD0 UART0
andrewboyson 5:82197a6997fd 32 PINSEL0 |= 1U << 6; //P0.03 01 RXD0 UART0
andrewboyson 5:82197a6997fd 33 PINSEL0 |= 2U << 14; //P0.07 10 SCK1 SSP1
andrewboyson 5:82197a6997fd 34 PINSEL0 |= 2U << 16; //P0.08 10 MISO1 SSP1
andrewboyson 5:82197a6997fd 35 PINSEL0 |= 2U << 18; //P0.09 10 MOSI1 SSP1
andrewboyson 5:82197a6997fd 36
andrewboyson 5:82197a6997fd 37 PINSEL1 = 0;
andrewboyson 5:82197a6997fd 38
andrewboyson 5:82197a6997fd 39 PINSEL2 = 0;
andrewboyson 5:82197a6997fd 40 PINSEL2 |= 1U << 0; //P1.00 01 ENET_TXD0
andrewboyson 5:82197a6997fd 41 PINSEL2 |= 1U << 2; //P1.01 01 ENET_TXD1
andrewboyson 5:82197a6997fd 42 PINSEL2 |= 1U << 8; //P1.04 01 ENET_TX_EN
andrewboyson 5:82197a6997fd 43 PINSEL2 |= 1U << 16; //P1.08 01 ENET_CRS
andrewboyson 5:82197a6997fd 44 PINSEL2 |= 1U << 18; //P1.09 01 ENET_RXD0
andrewboyson 5:82197a6997fd 45 PINSEL2 |= 1U << 20; //P1.10 01 ENET_RXD1
andrewboyson 5:82197a6997fd 46 PINSEL2 |= 1U << 28; //P1.14 01 ENET_RX_ER
andrewboyson 5:82197a6997fd 47 PINSEL2 |= 1U << 30; //P1.15 01 ENET_REF_CLK
andrewboyson 5:82197a6997fd 48
andrewboyson 5:82197a6997fd 49 PINSEL3 = 0;
andrewboyson 5:82197a6997fd 50 PINSEL3 |= 1U << 0; //P1.16 01 ENET_MDC
andrewboyson 5:82197a6997fd 51 PINSEL3 |= 1U << 2; //P1.17 01 ENET_MDIO
andrewboyson 1:ccc66fdf858d 52 }