Показать сообщение отдельно
Старый 03.10.2017, 13:00   #143
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: МО
Сообщений: 2,858
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 4,650
Поблагодарили 3,274 раз(а) в 1,172 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (3285)
По умолчанию

Цитата:
Сообщение от Eprinter Посмотреть сообщение
Я так понимаю, программа пишется в среде Ардуино?
Да, прога пишется на C++, который стандартный для Ардуино.
Очень много, да почти весь функционал, вынесен в библиотеку и оформлен в виде объектов. Один объект - на одну функцию(например
В основном же скетче, выполняется связывание всех компонентов воедино. Например, ниже обработчик сработок от ОС, который поддерживает три режима - отправку сенсора, отправку стрелочной команды или все вместе:
Код:
...
void notifyFBSensor(uint8_t index, uint8_t State){
  Serial.print("U FB:");
  Serial.print(index);
  Serial.print(" s:");
  Serial.println(State);
  switch (lncv[CV_FB_MODE_CH0 + index]) {
    case FB_MODE_FB_ONLY:
      CmdQueue.PushCmd(CMD_FEEDBACK, lncv[CV_ADDR + index], State, 0);
      break;
    case FB_MODE_TR_ONLY:
      CmdQueue.PushCmd(CMD_TURNOUT, lncv[CV_TRN_ADDR_CH0 + index], State, 0);
      break;      
    case FB_MODE_FB_TR:
      CmdQueue.PushCmd(CMD_FEEDBACK, lncv[CV_ADDR + index], State, 0);
      CmdQueue.PushCmd(CMD_TURNOUT, lncv[CV_TRN_ADDR_CH0 + index], State, 0);
    default:
      break;
  }
 ...
}


---------- Сообщение добавлено в 13:00 ---------- Предыдущие сообщение было в 12:56 ----------

Цитата:
Сообщение от Eprinter Посмотреть сообщение
Если да, то со временем (и при желании) можно будет переписать на "чистом" Си, или даже на Асме, тогда всё поместится )))
Этого как раз хочется избежать - переписывания.
shalex вне форума  
Вверх
2 пользователя(ей) сказали cпасибо: