Use only 8 bytes
This commit is contained in:
parent
d21f38f24b
commit
dd03575d1b
@ -45,6 +45,10 @@ inline Print &operator >>(Print &obj, T arg)
|
|||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<class T>
|
||||||
|
inline Print &operator +(Print &obj, T arg)
|
||||||
|
{ obj.print(arg, HEX); return obj; }
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(9600);
|
Serial.begin(9600);
|
||||||
|
|
||||||
@ -56,10 +60,10 @@ void setup() {
|
|||||||
Wire.write((byte)0);
|
Wire.write((byte)0);
|
||||||
Wire.endTransmission();
|
Wire.endTransmission();
|
||||||
|
|
||||||
Wire.requestFrom(CHRONODOT_ADDRESS, 19);
|
Wire.requestFrom(CHRONODOT_ADDRESS, 7);
|
||||||
byte blah[20];
|
byte blah[8];
|
||||||
int i;
|
int i;
|
||||||
for(i=0; i<20; i++) {
|
for(i=0; i<8; i++) {
|
||||||
blah[i] = Wire.read();
|
blah[i] = Wire.read();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,14 +75,6 @@ void setup() {
|
|||||||
uint8_t d = bcd2bin(blah[4]);
|
uint8_t d = bcd2bin(blah[4]);
|
||||||
uint8_t m = bcd2bin(blah[5]);
|
uint8_t m = bcd2bin(blah[5]);
|
||||||
uint16_t y = bcd2bin(blah[6]) + 2000;
|
uint16_t y = bcd2bin(blah[6]) + 2000;
|
||||||
float ttc = (float)(int)blah[17];
|
|
||||||
byte portion = blah[18];
|
|
||||||
if(portion == 0b01000000) ttc += 0.25;
|
|
||||||
if(portion == 0b10000000) ttc += 0.5;
|
|
||||||
if(portion == 0b11000000) ttc += 0.75;
|
|
||||||
float degF = (((ttc * 9.0) / 5.0) + 32.5);
|
|
||||||
int ttf = (int)degF;
|
|
||||||
//return DateTime (y, m, d, hh, mm, ss, ttf, ttc);
|
|
||||||
|
|
||||||
Serial.println();
|
Serial.println();
|
||||||
Serial.println("What\tByte\tCorrespondance");
|
Serial.println("What\tByte\tCorrespondance");
|
||||||
@ -90,9 +86,17 @@ void setup() {
|
|||||||
<< "hours\t" << blah[2] << "\t" << hh << "\r\n"
|
<< "hours\t" << blah[2] << "\t" << hh << "\r\n"
|
||||||
<< "days\t" << blah[4] << "\t" << d << "\r\n"
|
<< "days\t" << blah[4] << "\t" << d << "\r\n"
|
||||||
<< "months\t" << blah[5] << "\t" << m << "\r\n"
|
<< "months\t" << blah[5] << "\t" << m << "\r\n"
|
||||||
<< "years\t" << blah[6] << "\t" << y << "\r\n"
|
<< "years\t" << blah[6] << "\t" << y << "\r\n";
|
||||||
<< "temp\t" << blah[17] << "\t" << ttc << "\r\n"
|
|
||||||
<< "temp\t" << blah[18] << "\t" << portion << "\r\n";
|
Serial.println();
|
||||||
|
Serial
|
||||||
|
<< y << "-" << m << "-" << d << " "
|
||||||
|
<< hh << ":" << mm << ":" << ss << "\r\n";
|
||||||
|
|
||||||
|
Serial.println();
|
||||||
|
Serial.println("Address\tDecimal\tBinary");
|
||||||
|
Serial.println("----------------------");
|
||||||
|
Serial + CHRONODOT_ADDRESS << "\t" << CHRONODOT_ADDRESS << "\t" >> CHRONODOT_ADDRESS << "\r\n";
|
||||||
|
|
||||||
Serial.println();
|
Serial.println();
|
||||||
Serial.println("Byte\tDecimal\tBinary");
|
Serial.println("Byte\tDecimal\tBinary");
|
||||||
@ -106,19 +110,7 @@ void setup() {
|
|||||||
<< "4\t" << blah[4] << "\t" >> blah[4] << "\r\n"
|
<< "4\t" << blah[4] << "\t" >> blah[4] << "\r\n"
|
||||||
<< "5\t" << blah[5] << "\t" >> blah[5] << "\r\n"
|
<< "5\t" << blah[5] << "\t" >> blah[5] << "\r\n"
|
||||||
<< "6\t" << blah[6] << "\t" >> blah[6] << "\r\n"
|
<< "6\t" << blah[6] << "\t" >> blah[6] << "\r\n"
|
||||||
<< "7\t" << blah[7] << "\t" >> blah[7] << "\r\n"
|
<< "7\t" << blah[7] << "\t" >> blah[7] << "\r\n";
|
||||||
<< "8\t" << blah[8] << "\t" >> blah[8] << "\r\n"
|
|
||||||
<< "9\t" << blah[9] << "\t" >> blah[9] << "\r\n"
|
|
||||||
<< "10\t" << blah[10] << "\t" >> blah[10] << "\r\n"
|
|
||||||
<< "11\t" << blah[11] << "\t" >> blah[11] << "\r\n"
|
|
||||||
<< "12\t" << blah[12] << "\t" >> blah[12] << "\r\n"
|
|
||||||
<< "13\t" << blah[13] << "\t" >> blah[13] << "\r\n"
|
|
||||||
<< "14\t" << blah[14] << "\t" >> blah[14] << "\r\n"
|
|
||||||
<< "15\t" << blah[15] << "\t" >> blah[15] << "\r\n"
|
|
||||||
<< "16\t" << blah[16] << "\t" >> blah[16] << "\r\n"
|
|
||||||
<< "17\t" << blah[17] << "\t" >> blah[17] << "\r\n"
|
|
||||||
<< "18\t" << blah[18] << "\t" >> blah[18] << "\r\n"
|
|
||||||
<< "19\t" << blah[19] << "\t" >> blah[19] << "\r\n";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
@ -314,7 +314,7 @@ J'ai essayé de réunir les deux programmes en un seul en allégeant les \glspl{
|
|||||||
J'ai aussi cherché s'il était possible de mettre un système d'exploitation sur l'Arduino et qu'il puisse charger les programmes sur la carte SD, mais je n'ai rien trouvé.
|
J'ai aussi cherché s'il était possible de mettre un système d'exploitation sur l'Arduino et qu'il puisse charger les programmes sur la carte SD, mais je n'ai rien trouvé.
|
||||||
|
|
||||||
\section{Le programme pour tester en pratique l'I²C}
|
\section{Le programme pour tester en pratique l'I²C}
|
||||||
Cette fois-ci, l'entièreté du programme se situe dans la fonction \verb|setup()|. On commence par initialiser la classe \verb|Wire| puis commencer à transmettre sur le bus. D'abord, l'adresse de l'horloge est transmise, puis on positionne le curseur du registre à zéro et on lit les vingt premiers octets du registre qui continent l'heure, la date et la température. Ces données sont traitées pour être lisible puis on les affiche dans un tableau afin de savoir si la communication c'est bien passée. Pour finir, on affiche un tableau des vingt octets sous leurs formes décimales et binaires. %TODO: mettre un exemple en annexe
|
Cette fois-ci, l'entièreté du programme se situe dans la fonction \verb|setup()|. On commence par initialiser la classe \verb|Wire| puis commencer à transmettre sur le bus. D'abord, l'adresse de l'horloge est transmise, puis on positionne le curseur du registre à zéro et on lit les huit premiers octets du registre qui continent l'heure et la date. Ces données sont traitées pour être lisible puis on les affiche dans un tableau et dans le format habituel afin de savoir si la communication c'est bien passée. Pour finir, on affiche l'adresse de l'horloge sous forme hexadécimale, décimale et binaire ainsi qu'un tableau des huit octets sous leurs formes décimales et binaires. %TODO: mettre un exemple en annexe
|
||||||
|
|
||||||
\chapter{Test de l'I²C en pratique}
|
\chapter{Test de l'I²C en pratique}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user