Club robotique de Sophia-Antipolis

Accueil > ... > Forum 740

Optimisation de code

6 mars 2009, 15:19, par jbe

Bravo, une manipulation sympa.

Un soucis, l’instruction inline va donc rajouter n fois le bloc lorsqu’il sera appelé, et donc rajouter n fois des lignes dans le programme compilé.

Mais c’est comme d’habitude, un compromis entre temps d’exécution et taille mémoire.

De plus, pourriez vous faire cette même manipulation en utilisant la bibliothèque sbit.h.
Une utilisation de cette bibliothèque est écrite ci dessous.

Ce qui m’intéresse, c’est l’utilisation de sbit , par rapport a cbi et sbi.

/** Algo Studio - SansNom **/
#define F_CPU 1000000UL
#include <inttypes.h>
#include io.h>
#include interrupt.h>
#include delay.h>
#include sbit.h>

#define bp0 SBIT (PIND, 0)
#define bp1 SBIT (PIND, 1)
#define bp2 SBIT (PIND, 2)
#define bp3 SBIT (PIND, 3)

#define LED0 SBIT (PORTB, 0)
#define LED1 SBIT (PORTB, 1)
#define LED2 SBIT (PORTB, 2)
#define LED3 SBIT (PORTB, 3)

/*** le code exécutable commence ici ***/
int main(void) // 5 `Debut Prog` (RESET)

DDRD =0b00000000 ;
DDRB= 0b11111111 ;
do // 2 `Début d’itération perpétuelle`

if (bp0 == 1)

LED0 = 1 ;

else

LED0 = 0 ;

// 3 `Fin d’itération perpétuelle`
while(1) ;
return 0 ; // exigé par le compilateur WinAVR
// Fin de la fonction "main"
/* Fin du texte */

Cordialement

jbe

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.