... 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 !!