max6675 - spi?

Фермер
Offline
Зарегистрирован: 22.01.2020

Вот везде написано, что пины SPI у нано-уно - это  11-12-13

Тогда почему народную термопару max6675, которая вроде как работает именно по этому-самому SPI, во всех примерах подключают к каким-то произвольными пина, типа 4-5-6,  9-10-11 и т.п.?

 

 

nik182
Offline
Зарегистрирован: 04.05.2015

А заглянуть в файл библиотеки и посмотреть как организовано чтение слабо?

Фермер
Offline
Зарегистрирован: 22.01.2020

уже глядел. вопрос остался.

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Фермер пишет:

уже глядел. вопрос остался.

Ну, тогда остаётся только оставить этот вопрос в списке неразгаданных тайн мироздания.

Ибо, как говаривал Вильям наш Шекспир:

Hamlet
There are more things in heaven and earth, Horatio,
Than are dreamt of in your philosophy.

nik182
Offline
Зарегистрирован: 04.05.2015

Т.е. вот этот код чтения SPI ничего не говорит? Где здесь обращение к аппаратному SPI? 

byte MAX6675::spiread(void) { 
  int i;
  byte d = 0;
  for (i=7; i>=0; i--)
  {
    digitalWrite(sclk, LOW);
    _delay_ms(1);
    if (digitalRead(miso)) {
      //set the bit to 0 no matter what
      d |= (1 << i);
    }
    digitalWrite(sclk, HIGH);
    _delay_ms(1);
  }

  return d;
} 

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Фермер, разберитесь с отличиями между аппаратным и программным (софтовым) интерфейсами.

JArduino
Offline
Зарегистрирован: 18.05.2019

Это потому, что SPI бывает аппаратный и программный. 11-12-13 - это пины аппаратного SPI, а примеры, о которых Вы говорите, реализуют программный SPI.

По возможности, лучше использовать 1й вариант.

 

Чечако
Offline
Зарегистрирован: 15.06.2018

JArduino пишет:

По возможности, лучше использовать 1й вариант.

Вот это, кстати, в случае с 6675 интересный вопрос. У меня сложилось впечатление, что его используют с программным во многом потому, что на аппаратном это чудо или само работает нестабильно, или гадит прочим участникам этого самого SPI. Но сам не проверял, ибо в моих задачах на железном SPI висят более важные для меня железки, а с 6675 использую именно софтовую реализацию. Впечатление сложилось исключительно на основе чтения интернетов.

sadman41
Offline
Зарегистрирован: 19.10.2016

Пока заметил проблемы только в сочетании с U2G8 library. Мошт просто кому-то не хочется постоянно реконфигурить SPI под 6675? Или есть сложности с запихиванием двух SPI-модулей в UNO?

Фермер
Offline
Зарегистрирован: 22.01.2020

JArduino пишет:

Это потому, что SPI бывает аппаратный и программный. 11-12-13 - это пины аппаратного SPI, а примеры, о которых Вы говорите, реализуют программный SPI.

По возможности, лучше использовать 1й вариант.

Спасибо! Вот теперь мне понятно! Почитаю подробней про SPI...

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:
Пока заметил проблемы только в сочетании с U2G8 library. Мошт просто кому-то не хочется постоянно реконфигурить SPI под 6675? Или есть сложности с запихиванием двух SPI-модулей в UNO?

а пример на хард spi можно, что-то не одолею никак...