2 dtcDev
Предлагаю простой набор конкретных команд
- Код: Выделить всё • Развернуть
СкоростьПравогоМотора(value) // value от -100 до 100
СкоростьЛевогоМотора(value) // value от -100 до 100
Var = ЗначениеДискретногоДатчикаN() // N номер датчика или канала, куда он подключен (от 1 до 9)
// Var примет значение 0 или 1
Var = ЗначениеАналоговогоДатчикаN() // N номер датчика или канала, куда он подключен (от 1 до 9)
// Var примет значение от -100 до 100
ВыдатьВАналоговыйКаналN(value) // Выдать в аналоговый канал номер N значение value (ограничивается внутри от -100 до 100)
ЗапуститьТаймерN(timeout) // Таймер номер N ( (от 1 до 9) начинает отсчитывать timeout времени
// timeout - от 0.1 сек до 10 минут
Var = ПроверитьТаймерN() // Возвращает 0, если timeout времени еще не прошло с момента запуска, 1 - если прошло
Var = НажатаКнопкаПульта() // Возвращает 1, если была нажата кнопка пульта, 0 - если нет
Var = КомандаСПульта() // Возвращает номер нажатой кнопки на пульте
ПроигратьЗвук(sound) // sound - номер встроенного звука
ЛевыйГлаз(mode) // mode определяет режим моргания левым глазом
ПравыйГлаз(mode) // mode определяет режим моргания правым глазом
В конфигурационном файле описываются "дефайны" в зависимости от того, чего куда подключено,
версии прошивки и т.д. Например можно написать:
- Код: Выделить всё • Развернуть
#define LeftProximitySensor() (ЗначениеАналоговогоДатчика5()) // К пятому аналоговому каналу подключен левый датчик расстояния
#define HAPPY_SONG 12 // двенадцатый звук называется "Радостная песенка"
А может быть даже и такие:
- Код: Выделить всё • Развернуть
#define __hidden__gain_for_left_proximity_ (1.17E-2)
Ну и управляющие конструкции, переменные, арифметика нужны в каком-то виде...
На самом деле, в них-то, по-моему, основная сложность и есть... ну это ж "по-моему"