библиотека для подключения модуля термопары к микроконтроллеру
Dependents: NUCLEO_F410RB_MAX6675 PanelaSTM
Fork of max6675 by
Diff: max6675.cpp
- Revision:
- 4:f0cdf38c7cfc
- Parent:
- 2:661ac326e3b3
diff -r 8516e00ad03c -r f0cdf38c7cfc max6675.cpp --- a/max6675.cpp Fri Jun 18 10:44:36 2010 +0000 +++ b/max6675.cpp Mon Jun 11 06:48:27 2018 +0000 @@ -13,22 +13,22 @@ uint8_t highByte=0; uint8_t lowByte=0; - select(); - wait(.25); //This delay is needed else it does'nt seem to update the temp + select(); //выбор чипа устанавливает CS в 0 + wait(.25); //Эта задержка нужна для обновления данных о температуре - highByte = spi.write(0); - lowByte = spi.write(0); - deselect(); + highByte = spi.write(0); // отправляем два пустых + lowByte = spi.write(0); // байта, при этом одновременно получаем два байта с данными + deselect(); //устанавливаем CS в 1 (освобождаем SPI интерфейс) после того как считали температуру. - if (lowByte & (1<<2)) { - error("No Probe"); + if (lowByte & (1<<2)) { // проверяем третий бит, если равен 1, то термопара отключена + return -1; } else { - value = (highByte << 5 | lowByte>>3); + value = (highByte << 5 | lowByte>>3); // выделим из полученных данных инф. о температуре (с 3 по 14 бит) } - temp = (value*0.25); // Multiply the value by 0.25 to get temp in ˚C or - // * (9.0/5.0)) + 32.0; // Convert value to ˚F (ensure proper floats!) + temp = (value*0.25); // умножаем значение на чтобы получить ˚C или + // * (9.0/5.0)) + 32.0; // чтобы получить ˚F return temp; }