Pull to refresh

Comments 20

int thisByte = 33;  // целочисленная переменная

void loop() {
  // передаём значение переменной в последовательный интерфейс передачи данных
  Serial.write(thisByte);  
  // если целочисленная переменная равняется 126, прекратить передачу данных
  if (thisByte == 126)  
  {    
    while (true) 
    {
      continue;
    }
  }
  // увеличиваем значение целочисленной переменной
  thisByte ++; 
  // пауза 1000 миллисекунд 
  delay(1000);
}

Тут нужно ставить тег "ненормальное программирование". Цикл for для слабаков.
И что если нужно передать больше одного байта информации?

И что если нужно передать больше одного байта информации?

Это же очевидно - использовать еще одну Ардуину, не забыв подключить контакты GND, а то магии не будет. И обязательно подписаться на телеграмм-канал, там будет расширенная версия про передачу одного байта чаще, чем раз в секунду.

PS: ну не про стоматологию с гнилыми зубами на КДПВ и то хорошо.

А если 3 контроллера соединить надо?

Tx0 -> Rx1
Tx1 -> Rx2
Tx2 -> Rx0
Нужно ли реализовывать TokenRing в этом случае?

RS-485, но это не Arduino-way.

Мда, дожили. Может еще Blink выложат. Правда не знаю как еще хуже Delay сделать, заменить на цикл?

Когда я первый раз заходил сюда, у статьи была сотня прочтений, а у канала, реклама которого явно является единственной причиной появления этого опуса, 102 подписчика.

Сейчас у статьи 1,3 тысячи прочтений, а у канала — 101 подписчик.

Можно сделать некоторые выводы.

А в чем реклама собственно? Статья вроде среди прочих, в порядке очереди отобразилась на главной.

Можно сделать некоторые выводы.

Кто-то попытался развидеть? ;)

В «статье» ни разу не упоминается, какой именно «последовательный интерфейс». Учитывая промышленных роботов на КДПВ, можно было бы заподозрить CAN, но увы.

Использование 2х 328 или 328+тини иногда оправданно, например, один МК обрабатывает кучу кнопок интерфейса. МК просто стоит практически столько же, сколько расширитель портов. Но! как минимум все начинается с прерывания, а не с троллейбуса из буханки... а как передавать дело вторичное, хоть самодельный 8битный интерфейс - можно напрямую с регистра порта брать данные очень быстро.

МК просто стоит практически столько же, сколько расширитель портов.

Atmega не самый дешевый МК. Ну и навскидку гуглится PCF8575 - 1$ в виде готового модуля для arduino.

Я не профессиональный разработчик, по этому дальше AVR мои знания не распространяются. Даже с STM32 не получилось подружится - нет задач для них, а уж PIC...

Я тоже не сварщик ;) Просто загуглил, и посмотрел на предложения на али.

КМК вместо расширителя портов лучше всего использовать расширитель портов ;)

МК просто стоит практически столько же, сколько расширитель портов. 

Покажите мне где продают нормальные 328p дешевле бакса, я сразу кучу куплю.

Тини х4 в районе бакса или дешевле. На навороченный I2С расширитель пойдет. Преодер на том же LCSC US$0.3628, если катушкой. В розницу тоже иногда остатки партий были по хорошей цене. Если не упираться именно в 328, а поглядывать на младшие 48/88 то выбор еще больше. Но если в России, то увы, с "продают нормальные" это нынче не совместимо...

Если ваш проект раздулся до такой степени, что одной 328ой вам уже не хватает, то имеет смысл отказываться от ардуины и переходить хотя бы на stm32

Именно так, правда в моем случае это подаренные кассы на Atmega 1280+SRAM, так что у меня теперь своя "ардуина" с преферансом и дамами. Но вариант сделать интерфейсный модуль на отдельном МК вполне имеет право на жизнь. Просто это сложнее в разработке, но даёт значительные преимущества потом. Интерфейсный модуль я так и не сделал, а вот обработка взаимодействий с картами памяти прочно ушла на отдельную плату 1280(так получилось)+SD+RTC и возвращаться к работе с картами памяти в основном МК нет ни малейшей мотивации.

Опять студенты статьи на хабре пилят ради зачетов?

Sign up to leave a comment.

Articles