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 Apr 23 08:36:42 2021 +0000
Revision:
106:41ed3ea0bbba
Parent:
104:46ce1aaf8be7
Not working, crashes.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewboyson 104:46ce1aaf8be7 1 #define PCONP (*((volatile unsigned *) 0x400FC0C4))
andrewboyson 104:46ce1aaf8be7 2 #define PCLKSEL0 (*((volatile unsigned *) 0x400FC1A8))
andrewboyson 104:46ce1aaf8be7 3 #define PCLKSEL1 (*((volatile unsigned *) 0x400FC1AC))
andrewboyson 104:46ce1aaf8be7 4 #define PINSEL0 (*((volatile unsigned *) 0x4002C000))
andrewboyson 104:46ce1aaf8be7 5 #define PINSEL1 (*((volatile unsigned *) 0x4002C004))
andrewboyson 104:46ce1aaf8be7 6 #define PINSEL2 (*((volatile unsigned *) 0x4002C008))
andrewboyson 104:46ce1aaf8be7 7 #define PINSEL3 (*((volatile unsigned *) 0x4002C00C))
andrewboyson 104:46ce1aaf8be7 8 #define PINSEL4 (*((volatile unsigned *) 0x4002C010))
andrewboyson 104:46ce1aaf8be7 9 #define PINMODE4 (*((volatile unsigned *) 0x4002C050))
andrewboyson 104:46ce1aaf8be7 10 #define PINMODE_OD2 (*((volatile unsigned *) 0x4002C070))
andrewboyson 1:ccc66fdf858d 11
andrewboyson 1:ccc66fdf858d 12 void PeriphsInit (void)
andrewboyson 1:ccc66fdf858d 13 {
andrewboyson 1:ccc66fdf858d 14 //Peripheral power - Table 46
andrewboyson 5:82197a6997fd 15 PCONP = 0;
andrewboyson 5:82197a6997fd 16 PCONP |= 1 << 1; //TIMER0
andrewboyson 5:82197a6997fd 17 PCONP |= 1 << 2; //TIMER1
andrewboyson 5:82197a6997fd 18 PCONP |= 1 << 3; //UART0
andrewboyson 104:46ce1aaf8be7 19 PCONP |= 1 << 6; //PWM1
andrewboyson 5:82197a6997fd 20 PCONP |= 1 << 9; //RTC
andrewboyson 5:82197a6997fd 21 PCONP |= 1 << 10; //SSP1
andrewboyson 5:82197a6997fd 22 PCONP |= 1 << 15; //GPIO
andrewboyson 6:b325de442777 23 PCONP |= 1 << 16; //RIT
andrewboyson 5:82197a6997fd 24 PCONP |= 1 << 30; //ENET
andrewboyson 5:82197a6997fd 25
andrewboyson 5:82197a6997fd 26 //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 27 PCLKSEL0 = 0;
andrewboyson 5:82197a6997fd 28 PCLKSEL0 |= 1 << 2; //TIM0
andrewboyson 5:82197a6997fd 29 PCLKSEL0 |= 1 << 4; //TIM1
andrewboyson 5:82197a6997fd 30 PCLKSEL0 |= 1 << 6; //UART0
andrewboyson 104:46ce1aaf8be7 31 PCLKSEL0 |= 1 << 12; //PWM1
andrewboyson 5:82197a6997fd 32 PCLKSEL0 |= 1 << 20; //SSP1
andrewboyson 1:ccc66fdf858d 33
andrewboyson 5:82197a6997fd 34 //Pin functions table 80.
andrewboyson 5:82197a6997fd 35 PINSEL0 = 0;
andrewboyson 5:82197a6997fd 36 PINSEL0 |= 1U << 4; //P0.02 01 TXD0 UART0
andrewboyson 5:82197a6997fd 37 PINSEL0 |= 1U << 6; //P0.03 01 RXD0 UART0
andrewboyson 5:82197a6997fd 38 PINSEL0 |= 2U << 14; //P0.07 10 SCK1 SSP1
andrewboyson 5:82197a6997fd 39 PINSEL0 |= 2U << 16; //P0.08 10 MISO1 SSP1
andrewboyson 5:82197a6997fd 40 PINSEL0 |= 2U << 18; //P0.09 10 MOSI1 SSP1
andrewboyson 5:82197a6997fd 41
andrewboyson 5:82197a6997fd 42 PINSEL1 = 0;
andrewboyson 5:82197a6997fd 43
andrewboyson 5:82197a6997fd 44 PINSEL2 = 0;
andrewboyson 5:82197a6997fd 45 PINSEL2 |= 1U << 0; //P1.00 01 ENET_TXD0
andrewboyson 5:82197a6997fd 46 PINSEL2 |= 1U << 2; //P1.01 01 ENET_TXD1
andrewboyson 5:82197a6997fd 47 PINSEL2 |= 1U << 8; //P1.04 01 ENET_TX_EN
andrewboyson 5:82197a6997fd 48 PINSEL2 |= 1U << 16; //P1.08 01 ENET_CRS
andrewboyson 5:82197a6997fd 49 PINSEL2 |= 1U << 18; //P1.09 01 ENET_RXD0
andrewboyson 5:82197a6997fd 50 PINSEL2 |= 1U << 20; //P1.10 01 ENET_RXD1
andrewboyson 5:82197a6997fd 51 PINSEL2 |= 1U << 28; //P1.14 01 ENET_RX_ER
andrewboyson 5:82197a6997fd 52 PINSEL2 |= 1U << 30; //P1.15 01 ENET_REF_CLK
andrewboyson 5:82197a6997fd 53
andrewboyson 5:82197a6997fd 54 PINSEL3 = 0;
andrewboyson 5:82197a6997fd 55 PINSEL3 |= 1U << 0; //P1.16 01 ENET_MDC
andrewboyson 5:82197a6997fd 56 PINSEL3 |= 1U << 2; //P1.17 01 ENET_MDIO
andrewboyson 104:46ce1aaf8be7 57
andrewboyson 104:46ce1aaf8be7 58 PINSEL4 = 0;
andrewboyson 104:46ce1aaf8be7 59 PINSEL4 |= 1U << 0; //P2.00 01 PWM1.1 --> p26
andrewboyson 1:ccc66fdf858d 60 }