хватит флейма
серьёзный разговор...
- Код: Выделить всё
if (buffer[0] == 'R')
{
if ((buffer[1] == '5')|(buffer[1] == '6')|(buffer[1] == '7')|(buffer[1] == '8')|(buffer[1] == '9'))
{
PORTD.2 = 1; //ставим правый бит направления вращения вперёд
PORTD.3 = 0; //и сбрасываем правый бит направления вращения назад
pwm = (buffer[1] - '0')*10 + (buffer[2] - '0'); //пишем в правый шим
putsf("\r\nПравый мотор вперёд");
}
if ((buffer[1] == '4')|(buffer[1] == '3')|(buffer[1] == '2')|(buffer[1] == '1')|(buffer[1] == '0'))
{
PORTD.2 = 0; //ставим правый бит направления вращения назад
PORTD.3 = 1; //и сбрасываем правый бит направления вращения вперёд
pwm = (buffer[1] - '0')*10 + (buffer[2] - '0'); //пишем в правый шим
putsf("\r\nПравый мотор назад");
}
}
if (buffer[0] == 'L')
{
if ((buffer[1] == '5')|(buffer[1] == '6')|(buffer[1] == '7')|(buffer[1] == '8')|(buffer[1] == '9'))
{
PORTD.4 = 1; //ставим левый бит направления вращения вперёд
PORTD.5 = 0; //и сбрасываем левый бит направления вращения назад
pwm = (buffer[1] - '0')*10 + (buffer[2] - '0'); //пишем в левый шим
putsf("\r\nЛевый мотор вперёд");
}
if ((buffer[1] == '4')|(buffer[1] == '3')|(buffer[1] == '2')|(buffer[1] == '1')|(buffer[1] == '0'))
{
PORTD.5 = 0; //ставим левый бит направления вращения назад
PORTD.4 = 1; //и сбрасываем левый бит направления вращения вперёд
pwm = (buffer[1] - '0')*10 + (buffer[2] - '0'); //пишем в левый шим
putsf("\r\nЛевый мотор назад");
}
}
вот
камень мега 8
а теперь вопрос
всё работает НО
если отсылаем R99 типа правый мотор полный вперёд
D2 становится единичкой
если отсылаем R11 типа правый мотор полный назад
D2 не становится нулём
этот же кусок кода для 2х других ног работает безотказно
ноги PD2 PD3 PD4 PD5 идут на к1128кт4р
может у меня чёто не так сконфигурено ???
или опять эти фьюзы дурацкие??
прям ненаю что и делать...
кстати я тупица, я совсем забыл что хотел делать шим на моторы, а плату уже развёл и запаял
шим отменяется...