Bonjour Abiz,
le LPC2148 du Sceptre et le AT91SAM7S256 utilisé dans ce livre sont basé sur le même cœur, c.-à-d. un ARM7-TDMI et ils utilisent donc les mêmes instructions. Les périphériques par contre ne sont pas standardisés et ils sont différents. Non seulement en fonctionnement peut-il y avoir de petites différences, mais surtout les noms des et le nombre de registres sont différents, tout comme les fonctions de leurs bits. Cela dit, SPI c’est SPI (p. ex.) sur les deux processeurs, même s’ils se programment différemment.
Les principes décrits dans ce livre sont valables pour tous les microcontrôleurs, peu importe la taille de leurs registres. Les techniques d’interfaçage sont traitées : comment dimensionner (avec calculs) un circuit de sortie pour piloter un transistor MOSFET de puissance, un moteur pas-à-pas ou encore un photocoupleur ; comment lire un clavier matriciel, une carte SD, etc. J'estime que plus de 75 % du livre est indépendant du AT91SAM7S256 et beaucoup des parties spéciales AT91SAM7S256 sont facilement portables sur le Sceptre. Installer l’environnement de programmation (Yagarto + Eclipse) par exemple.
Le livre ne montre pas beaucoup de code, mais explique les principes. Tous les exemples sont à télécharger et à étudier à part. Ils sont écrits en C pour le AT91SAM7S256, ce qui veut dire que seulement la couche qui interagit directement avec les périphériques du processeur est spécifique au processeur. Par exemple (on reste dans le SPI), écrire un octet sur le port SPI :
LPC2148 :
void SPIWriteByte(unsigned char data)
{
S0SPDR = data; /* envoie octet */
while (!(S0SPSR & 0x00000080)); /* attend la fin du transfert */
}
AT91SAM7S256 :
void SPIWriteByte(unsigned char data)
{
SPI_TDR = data; /* envoie octet */
while (!(SPI_SR & 0x00000002)); /* attend la fin du transfert */
}
Cherchez les différences.
Bien sûr, tout dépend du périphérique. L’USB va être un peu plus difficile à porter…
Les exemples sont ici (téléchargement gratuit) :
http://www.elektor.com/products/books/microcontrollers/arm-microcontroller-interfacing-%28subscribers%29.1465656.lynkxBon weekend,
Clemens