... Quicky

Sans rien changer à Blinky, nous allons ici simplement configurer la PLL et la connecter au Core.

// ..........................................

//

// Premiers pas dans le monde de l'ARM

//

// Auteur: Fred Microcontrollers and Robotics

// Date : 06 Octobre 2011

//

// Checked : 10 Juillet 2009 22:18

//

// Program_2: Quicky

// ..........................................

#include "lpc210x.h"

#define LED7 (1 << b7)

#define out |

#define PLL_PLOCK (1<<b10) // Bit b10 de PLLSTAT

// Initialisation de la PLL

void PLL_Init(void)

{

PLLCFG = 0x23; // P= 2 et M=4 => 00100011

PLLCON = 0x01; //Validation de la PLL

PLLFEED = 0xAA; //Feed sequence

PLLFEED = 0x55;

while(!(PLLSTAT & PLL_PLOCK)); //Attente que la PLL soit verrouillée

PLLCON = 0x03; //Connection de la PLL

PLLFEED = 0xAA; //Feed sequence

PLLFEED = 0x55;

}

// Le port P0.N est mis en sortie

void Led_Init(int N)

{

IODIR = IODIR out N;

}

// La Led n° N est allumée

void Led_On(int N)

{

IOSET = N;

}

// La Led n° N est éteinte

void Led_Off(int N)

{

IOCLR = N;

}

// Attente d'un certain temps défini par T

void Delai(unsigned long T)

{

while (--T!=0);

}

int main(void)

{

IODIR = 0;

PLL_Init(); // !!!!!! Cette ligne a été rajoutée !!!!!!

Led_Init(LED7);

while (1)

{

Delai(100000);

Led_On(LED7);

Delai(100000);

Led_Off(LED7);

}

return(0);

}

Sans avoir changé le Delai qu'il y a entre l'extinction et l'allumage de la Led, on s'aperçoit que le clignotement s'est nettement accéléré.

Cette fois-ci, on tourne nettement plus vite grâce à la PLL.

Peut-on faire mieux ?? Sans doute avec le MAM et Speedy !!