« Not eXactly C » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Yodavatar (discuter | contributions)
Fonctionnalité de suggestions de liens : 2 liens ajoutés.
 
Ligne 19 : Ligne 19 :
}}
}}


Le '''{{lang|en|Not eXactly C}}''' (« pas exactement du [[C (langage)|C]] » en français) ou '''NXC''' est un langage de programmation spécifique au robot [[Lego Mindstorms NXT]] basé sur le [[Next Byte Codes|NBC]], un [[Assembleur|langage assembleur]].
Le '''{{lang|en|Not eXactly C}}''' (« pas exactement du [[C (langage)|C]] » en français) ou '''NXC''' est un [[langage de programmation]] spécifique au robot [[Lego Mindstorms NXT]] basé sur le [[Next Byte Codes|NBC]], un [[Assembleur|langage assembleur]].
L'[[Environnement de développement intégré|IDE]] associé à ce langage est [[Bricx Command Center|BricxCC]].
L'[[Environnement de développement intégré|IDE]] associé à ce langage est [[Bricx Command Center|BricxCC]].


Ligne 26 : Ligne 26 :
La première version du NXC date de 2007, année de libération de la norme NXT sous licence publique Mozilla. Son développeur, John Hansen, avait déjà mis au point le [[Not Quite C|NQC]] pour le [[Lego Mindstorms RCX|RCX]] ; il développe également l'[[Environnement de développement intégré|IDE]] [[BricxCC]].
La première version du NXC date de 2007, année de libération de la norme NXT sous licence publique Mozilla. Son développeur, John Hansen, avait déjà mis au point le [[Not Quite C|NQC]] pour le [[Lego Mindstorms RCX|RCX]] ; il développe également l'[[Environnement de développement intégré|IDE]] [[BricxCC]].


Jusqu'à la version 1.26 du [[Micrologiciel|micro-programme]], l'utilisation de nombres à virgule flottante était impossible sur le NXT, car non utilisés pour la commande des moteurs et l'acquisition des mesures de capteurs. Depuis cette version, cela est aussi possible avec le NXC.
Jusqu'à la version 1.26 du [[Micrologiciel|micro-programme]], l'utilisation de nombres à [[virgule flottante]] était impossible sur le NXT, car non utilisés pour la commande des moteurs et l'acquisition des mesures de capteurs. Depuis cette version, cela est aussi possible avec le NXC.


==Exemples de programmes NXC==
==Exemples de programmes NXC==

Dernière version du 27 septembre 2023 à 19:00

Not eXactly C
Date de première version Voir et modifier les données sur Wikidata
Influencé par C
Système d'exploitation firmware NXT Mindstorm
Site web http://bricxcc.sourceforge.net/

Le Not eXactly C (« pas exactement du C » en français) ou NXC est un langage de programmation spécifique au robot Lego Mindstorms NXT basé sur le NBC, un langage assembleur. L'IDE associé à ce langage est BricxCC.

Historique[modifier | modifier le code]

La première version du NXC date de 2007, année de libération de la norme NXT sous licence publique Mozilla. Son développeur, John Hansen, avait déjà mis au point le NQC pour le RCX ; il développe également l'IDE BricxCC.

Jusqu'à la version 1.26 du micro-programme, l'utilisation de nombres à virgule flottante était impossible sur le NXT, car non utilisés pour la commande des moteurs et l'acquisition des mesures de capteurs. Depuis cette version, cela est aussi possible avec le NXC.

Exemples de programmes NXC[modifier | modifier le code]

Voici deux exemples de programmes réalisables avec le NXC, suivis de l'explication de leur effet.

Allumage d’un moteur :

task main()
{
  OnFwd(OUT_A, 75);
  Wait(1000);
}

L'actionneur relié à la prise « A » du NXT démarre puis le programme s'arrête au bout d'une seconde.

Réaction à la lumière :

task main()
{
  SetSensorTouch(S1);
  SetSensorLight(S2);
  OnFwd(OUT_A);
  while(SENSOR_1 == FALSE)
  {
    if(SENSOR_2 > 50)
    {
      PlayTone(440, 10);
    }
  }
}

L'actionneur relié à la prise « A » du NXT est démarré et le type des capteurs 1 et 2 est défini ; si l'on met le capteur 2 (capteur de luminosité) devant une source de lumière, le NXT produit une tonalité (de fréquence 440 Hz donc un la3) durant 10 millisecondes. L'appui sur le capteur 1 (capteur de contact) provoque l'arrêt du programme.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Références[modifier | modifier le code]