juillet 2012 (3)

mercredi 25 juillet 2012

EKitsZone W5200 Ethernet Shield

P1010077.png

P1010077.png

La plateforme de développement Arduino bénéficie d'une large communauté et d'un grand nombre de modules, shields ou breakout boards divers et variés. Il existe notamment des shields permettant d'ajouter une connexion réseau Ethernet tels que l'Arduino Ethernet Shield.

Le shield officiel embarque un contrôleur Ethernet WIZnet W5100. Le W5200 Ethernet Shield d'EkitsZone est quant à lui basé sur un contrôleur Ethernet WIZnet W5200.

Cet article présente la mise en œuvre du W5200 Ethernet Shield sur une carte de développement Arduino Uno. L'environnement de développement utilisé est Arduino en version 1.0.1.

Lire la suite

Compter le nombre d'éléments d'un tableau

/**************************************************************************//**
 * \def     ITEMS_IN_ARRAY
 * \brief   Get number of items in array.
 ******************************************************************************/
#define ITEMS_IN_ARRAY(array)   (sizeof(array) / sizeof(*array))

En programmation, la nécessité de compter le nombre d'éléments que contient un tableau est récurrente. Certains langages tels que le Java ou le C# l'indiquent via des fonctions ou des propriétés, mais pas le C.

Cet article propose un moyen simple d'y parvenir, en l'occurrence une macro prenant en paramètre le tableau à mesurer.

Lire la suite

mardi 24 juillet 2012

Les assertions avec Arduino

assert.png
void foo(char* p_string)
{
    // Check the preconditions.
    assert(NULL != p_string);

    // ...
}

En informatique, une assertion est une expression qui doit être évaluée à vrai. Si le résultat de l'évaluation est faux, c'est qu'il y a un problème, une erreur qui ne doit pas se produire. Les assertions peuvent par exemple être utilisées pour s'assurer qu'une valeur est bien comprise entre deux bornes, qu'un pointeur n'est pas nul, etc...

Arduino utilise AVR-GCC et l'AVR Libc qui propose de prendre en charge les assertions via la bibliothèque assert définie dans le fichier d'entête assert.h.

Cet article propose de découvrir les assertions de l'AVR Libc puis de les mettre en œuvre sur Arduino.

Lire la suite