Существует два разных варианта BASCOM, в зависимости от вашего микроконтроллера. Вы пометили оба, так что не ясно, какой вы имеете в виду. Также вы не сказали нам, какой сервопривод вы используете.
В любом случае, внутренняя работа достаточно похожа, чтобы попытаться ответить на ваш вопрос.
Сначала нам нужно понять, какой сигналстандартный R / C сервопривод ожидает. Положение сервопривода кодируется по ширине (положительного) импульса. Диапазон составляет от 1 мс до 2 мс. Этот импульс должен повторяться каждые 20 мс, что является частотой повторения 50 Гц.
С Config Servos
вы устанавливаете таймер в качестве источника прерывания и его процедуры обслуживания. Это означает, что импульсы для сервомотора (ов) генерируются автоматически без каких-либо дополнительных действий вашей основной программы. Вам просто нужно установить желаемый импульс ширина в назначенной переменной;это на самом деле зависит от варианта BASCOM. Для AVR это массив Servo(1) = #
, а для 8051 есть отдельные переменные Servo1 = #
.
В соответствии с руководством (ами) параметр Reload
задает разрешение в мкс значения для ширины импульса. Вы выбрали 10.
Таким образом, для диапазона длительностей импульсов вам нужно присвоить значения от 100 до 200 сервопеременной:
Do
Servo1 = 100
Wait 10
Servo1 = 200
Wait 10
Loop
Дополнительное примечание: руководство для BASCOMAVR упоминает режим порта для установки. Вывод, используемый для импульса, должен быть выходным.