Gérez et manipulez les bits comme un chef

Magazine
Marque
Hackable
Numéro
28
Mois de parution
janvier 2019
Domaines


Résumé
Quel que soit le projet sur lequel on travaille, au final on ne fait que manipuler des octets et leur constituant, les bits. Il est fréquent, en raison de la facilité d'utilisation du langage Arduino, de perdre de vue qu'il ne s'agit, en réalité que de C/C++ étoffé de quelques fonctions et mécanismes livrés « clé en main ». Or justement, le C et le C++ sont ce qu'on appelle des langages de bas niveau en raison de leur proximité avec l'architecture matérielle. Et qui dit « proximité avec le matériel », dit forcément « bits » et « opérations binaires ».

Les explications qui vont suivre sont, bien entendu, orientées vers la programmation avec les cartes Arduino et consorts, mais sachez que tout ceci s'appliquera exactement de la même manière avec n'importe quel cas de programmation en C ou C++ sur n'importe quelle autre plateforme, qu'il s'agisse d'une Raspberry Pi sous GNU/Linux ou d'un PC sous Windows. Si vous programmez de longue date, tout ou partie de ce qui va suivre vous est sans doute connu mais, comme dans bien des disciplines, une piqûre de rappel de temps en temps ne fait pas de mal. En particulier lorsque ces opérations et manipulations ne font pas toujours partie de votre quotidien.

bit_328p

Ce microcontrôleur Atmel ATMEGA328P en boîtier PDIP présent sur une carte Arduino UNO de première génération existait et était utilisé bien avant l'arrivée de ces cartes. Il n'était pas question alors de digitalWrite() ou de pinMode(), on utilisait tout simplement les registres directement, en C ou en assembleur.

Pourtant,...

Cet article est réservé aux abonnés. Il vous reste 94% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Gestion de système de fichiers

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

À l’origine, Python était un langage spécifiquement écrit pour répondre à des problématiques système, dont la gestion du système de fichiers est une part importante. Depuis, il n’a eu de cesse de s’améliorer, y compris dans les toutes dernières versions.

Comment arrêter un ordinateur sans crise de nerfs ?

Magazine
Marque
GNU/Linux Magazine
Numéro
240
Mois de parution
septembre 2020
Domaines
Résumé

Quoi de plus normal qu'un enfant qui joue ? Le problème n'est pas pendant qu'il joue, c'est plutôt au moment de l'arrêt : que l'on ait accordé 1 h ou 2 h, cela se termine toujours par des cris « J'ai à peine fait 2 parties ! Ça fait même pas 10 mn que je joue ! ». La solution : ne plus intervenir directement !

Les 10 modules à connaître !

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

Il est certains modules dont on ne peut se passer une fois qu’on les a découverts, des modules qui changent à jamais notre façon de coder, des modules dont on ne revient pas...

Zéro SQLi malgré les développeurs

Magazine
Marque
MISC
Numéro
111
Mois de parution
septembre 2020
Domaines
Résumé

Nous proposons une méthode pour effectuer des requêtes SQL qui garantit l'invulnérabilité aux injections SQL, y compris lorsqu'elle est utilisée par un développeur pressé ou incompétent, contrairement aux requêtes paramétrées. Basée sur l'utilisation d'arbres de syntaxe abstraite, elle permet facilement de construire des requêtes dynamiques et est plus facile à mettre en œuvre qu'un ORM. Nous proposons une bibliothèque Java implémentant nos idées, mais la méthode peut s'appliquer à d'autres langages de programmation et d'autres types de requêtes.

Les environnements virtuels : pourquoi et comment les utiliser

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

Si vous êtes un Pythoniste débutant, vous en avez probablement entendu parler et si vous êtes confirmés, ils sont forcément tout le temps dans votre boite à outils.Aujourd’hui, ils sont faciles à utiliser, intégrés aux IDE et permettent une économie de temps considérable dans la gestion et la maîtrise de l’environnement de nos applications.