Перейти к содержанию

Uart Проблема


StasRadeon

Рекомендуемые сообщения

Хочу работать с сервомотором через UART , но вот не понимаю почему не хочет работать .Подскажите пожалуйста где не делаю правильно.

Приклепляю мои проект

ServoMotor.rar

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Hongfa для различных применений в Компэл. Большой выбор в наличии!

Компания HONGFA - это не только крупнейший в мире производитель электромеханических реле, но также производитель конденсаторов, вакуумных прерывателей, трансформаторов и низковольтного коммутационного оборудования. На складе КОМПЭЛ регулярно поддерживаются около 100 самых популярных позиций электромеханических реле. Реле Hongfa могут заместить многие изделия производства недоступных брендов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Тренды и лучшие решения для разработки зарядных станций в России

К 2029 году в России прогнозируется увеличение числа зарядных станций до 40 000. При этом отечественный рынок электротранспорта имеет климатические, потребительские и географические особенности. Для успешной разработки и построения инфраструктуры станций заряда в России идеальным вариантом является использование решений и электронных компонентов китайских производителей – лидеров индустрии электротранспорта и возобновляемой энергетики, которые уже представлены в КОМПЭЛ. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Чтобы знать как помочь, необходимо знать чем конкретно нужно помочь.

"У меня ничего не работает, помогите, ..." - это не вопросы и не объяснение проблемы. Совершенно не понятно, что означает Ваше "не хочет работать". А вытягивать из Вас информацию никто не будет. Задайте правильно свой вопрос, с конкретным объяснением проблемы.

Ссылка на комментарий
Поделиться на другие сайты

Секреты депассивации литиевых батареек FANSO EVE Energy

Самыми лучшими параметрами по энергоемкости, сроку хранения, температурному диапазону и номинальному напряжению обладают батарейки литий-тионилхлоридной электрохимической системы. Но при длительном хранении происходит процесс пассивации. Разберем в чем плюсы и минусы, как можно ее избежать или уменьшить последствия и как проводить депассивацию батареек на примере продукции и рекомендаций компании FANSO EVE Energy. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

через uart я хочу контролировать сервомотор , например когда напишу s в виртуаль команд то oн должен сидеть в 0 градусов , когда я напишу a тогда на 180 градусов. в протеусу не реагируйет нечево когда напишу a,s,v в виртуаль команд.

Ссылка на комментарий
Поделиться на другие сайты

В протеусе можно подключить .cof файл, вместо .hex. Тогда появляется возможность отлаживать программу.

Поставьте точку останова на приём, пошлите символ через терминал, и прогоните пошагово программу. Сразу станет всё понятно почему у Вас ничего не работает.

Ссылка на комментарий
Поделиться на другие сайты

Я же Вам говорю - ставьте точки останова, шагайте, отлаживайте, ... Всё только в Ваших руках. Код то Ваш, и только Вам во время отладки можно понять проблему.

Ссылка на комментарий
Поделиться на другие сайты

проблему я решил , но появилась другая: долгое время ответа и не распознает с первова раза

Приклепляю мои проект

с таким кодом так и будет.... вас функции делай кто надоумил использовать???? вы МК тупо в ступор вгоняете , и вместо того что бы юарт прочитать тупо в прерывании , делаете это в главном цикле

и управление сервой у вас сделано неправильно, импульсы управления на серву подается постоянно, а не пачками по 50 импульсов....

Ссылка на комментарий
Поделиться на другие сайты

если я вас правильно понял, надо уарт в прерывание читать , а что именно вы хотели сказать : управление сервой у вас сделано неправильно, импульсы управления на серву подается постоянно, а не пачками по 50 импульсов....

Ссылка на комментарий
Поделиться на другие сайты

именно то что хотел сказать.... для управления сервой вы вызываете процедуры и в цикле дергаете пин 50 раз , потом снова вызываете эту процедуру по совпадению символа с содержимым юарта , символ не совпал - импульсы пропали..... короче можете смело вытирать весь код, и начинать писать весь код заново....

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

время импульса/паузы задается через таймер TMR1,`значения импульса/паузы изменяются в прерывании от таймера

в идеале если позволяют характеристики сервы лучше задействовать модуль ССР в режиме ШИМ

Ссылка на комментарий
Поделиться на другие сайты

также можно задействовать два таймера: таймером TMR0 задаем период следования импульсов / TMR1 - длительность импульса , в прерывании от TMR0 устанавливаем пин=1, запускаем таймер TMR1 на нужную длительность , в прерывании по TMR1 сбрасываем пин=0 останавливаем таймер TMR1

в этом случае длительность паузы не нужна....

Ссылка на комментарий
Поделиться на другие сайты

static void interrupt isr(void)
{
if(T0IF) {			 // TIMER0 Interrupt Flag
pulse_max++;		 // Pulse Max Increment
pulse_top++;		 // Pulse Top Increment
/* MAX_VALUE=200 turn off the pulse */
if (pulse_max >= MAX_VALUE) {
 pulse_max=0;
 pulse_top=0;
 RB2=0;			 // Turn off RC2
}
/* top_value = MAX_VALUE - n, n=10: 10 x 0.1ms = 1.0ms, n=20: 20 x 0.1ms = 2.0ms */
/* 2ms -> Right Rotation, 1ms -> Left Rotation */
if (pulse_top == top_value) {
 RB2=1;			 // Turn On RC2
}
TMR0 = 156;			 // Initial Value for 0.1ms Interrupt
T0IF = 0;	 // Clear TIMER0 interrupt flag
}
}

правильно думаю я ?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • "Пьяный мужик что-то ищет под фонарем. Тут к нему под ходит милиционер и спрашивает: - Что Вы тут делаете? Мужик отвечает: - Ключи от квартиры ищу. - А где потерял? - В парке. - А зачем здесь ищешь? - А здесь светлее ."(С) Возвращайтесь в парк и проверяйте исправность регуляторов тридцатилетней давности.
    • Спасибо всем кто отозвался на мой вопрос, но обозначение микросхем не разобрать даже через сильную лупу. Решил купить другой блютуз модуль и усилитель к нему, так как мощности не хватает на динамики. Если что-то не пойдёт обязательно обращусь к Вам за помощью. Больше спасибо всем ещё раз. 
    • Это если они в местном сельмаге имеются.
    • там микроамперы, чем мерите-то ? мультиметр уже перегружает преобразователь
    • Сейчас посмотрю,кстати резистор который паралельно конденсатору для софтстарта я менял чтобы выставить меньший коэффициент заполнения,чтобы запас по размагничивания увеличить,уменьшал коэф.заполнения до 43 процентов,ситуация такая что при прямом включении в сеть ключи тихо мирно умирают,при плавном увеличении напряжения до номинала с помощью латра все отлично,хотя раньше все отлично работало и варило индуктивность первички 3900 мкГн,ток намагничивания при такой индуктивности и коэф заполнения 0.87 а U*ti/L В статье про бармалея указывалось что ток должен быть от 0.5 до 2 а  трансформатор r63 35 витков расколотый на пополам зазор чек с двух сторон
    • Всем доброго дня, достался мне аппарат радиотехника у101, не рабочий, сделал ему ревизию, поменял оконечники собрал по схеме Дорофеева, электролиты поменял, в предусилителе не полярные конденсаторы С9, С10 и остальные эти не полярные поменял, в коммутаторе входов заменил все микросхемы, питание везде проверил всё по паспорту, но проблема осталась неизменной в стерео режиме один канал играет тише трещит и фонит больше чем второй, в моно режиме всё играет нормально, уже много вариантов перебрал ничего не помогает, помогите советом может кто сталкивался, я грешу на предусилитель так как меняя местами от него каналы проблема перемещается, предусилитель на трёх операционниках схему приложил 
×
×
  • Создать...