Задать вопрос
Paul_Smith
@Paul_Smith

Msp430 — Как работать с Serial при подключенной Servo.h?

Взываю к вашей помощи.

Пытаюсь управлять сервой, считывая данные из Serial: inByte = Serial.read();

Подключаю Servo.h

Сразу при компиляции вылезает:

core.a(TimerSerial.cpp.o): In function `TimerSerial__TxIsr':

C:\Users\Paul\Documents\Energia\hardware\msp430\cores\msp430/TimerSerial.cpp:202: multiple definition of `__isr_9'

Servo\Servo.cpp.o:C:\Users\Paul\Documents\Energia\hardware\msp430\libraries\Servo/Servo.cpp:87: first defined here

collect2: ld returned 1 exit status



Исходный текст программы:

#include <Servo.h>
void setup()
{
  // start serial port at 9600 bps:
  Serial.begin(9600);
}

void loop()
{
  // if we get a valid byte, read analog ins:
  if (Serial.available() > 0) {
    // get incoming byte:
    inByte = Serial.read();
 
    if(inByte == 'w'){
   // Do something
    }   
Serial.write(inByte);    //Write what we get
  }
}



Очевидно, что библиотеки сериал и серво используют один и тот же таймер для работы.

Задача — получать данные по Serial, проверять их. Если пришел символ 'w', шевелить сервой.

Вопрос: Как?
  • Вопрос задан
  • 5020 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
noonv
@noonv
а какой МК пробуете использовать? в 452 — serial только софтварный, а в 553 — уже хардварный.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы