библиотека для подключения модуля термопары к микроконтроллеру
Dependents: NUCLEO_F410RB_MAX6675 PanelaSTM
Fork of max6675 by
Revision 4:f0cdf38c7cfc, committed 2018-06-11
- Comitter:
- zelmic
- Date:
- Mon Jun 11 06:48:27 2018 +0000
- Parent:
- 3:8516e00ad03c
- Commit message:
- ver 1.
Changed in this revision
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; }
diff -r 8516e00ad03c -r f0cdf38c7cfc max6675.h --- a/max6675.h Fri Jun 18 10:44:36 2010 +0000 +++ b/max6675.h Mon Jun 11 06:48:27 2018 +0000 @@ -6,20 +6,20 @@ class max6675 { SPI& spi; - DigitalOut ncs; + DigitalOut ncs;// pin CS для выбора чипа public: - max6675(SPI& _spi, PinName _ncs); - void select(); - void deselect(); + max6675(SPI& _spi, PinName _ncs); + void select(); //захват линии SPI для данного чипа + void deselect();// освобождение SPI - float read_temp(); + float read_temp(); //чтение температуры private: PinName _CS_pin; PinName _SO_pin; PinName _SCK_pin; - int _units; - float _error; + //int _units; + //float _error; }; #endif
diff -r 8516e00ad03c -r f0cdf38c7cfc mbed.bld --- a/mbed.bld Fri Jun 18 10:44:36 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://mbed.org/users/mbed_official/code/mbed/builds/3944f1e2fa4f