int TXPIN=6; //int DUREEBIT=1000000/1200; int DUREEBIT=(1000000/19200)-5; void setup() { // put your setup code here, to run once: pinMode(TXPIN,OUTPUT); digitalWrite(TXPIN,HIGH); //idle } void EnvoieCar(char c) { digitalWrite(TXPIN,LOW); //start delayMicroseconds(DUREEBIT); for (char n=0;n<8;n++){ digitalWrite(TXPIN,(c>>n)&1); //bit de donnée delayMicroseconds(DUREEBIT); } digitalWrite(TXPIN,HIGH); //stop delayMicroseconds(DUREEBIT); } void EnvoieChaine(char adresse, char * chaine){ EnvoieCar('-'); EnvoieCar('>'); EnvoieCar(adresse); int somme=0; while( (*chaine)!=0 ){ EnvoieCar(*chaine); somme+=(*chaine); chaine++; } EnvoieCar(':'); EnvoieCar(somme>>8); EnvoieCar(somme&0xff); EnvoieCar('\r'); EnvoieCar('\n'); } void loop() { // put your main code here, to run repeatedly: EnvoieCar('U'); //EnvoieChaine('0', "salut les jeunes"); //EnvoieChaine('3', "salut les vieux"); delay(100); }