Jump to content

ViktorS

Members
  • Content Count

    2
  • Joined

  • Last visited

Community Reputation

0 Обычный

About ViktorS

  • Rank
    Новенький

Информация

  • Город
    Москва

Электроника

  • Стаж в электронике
    Не связан с электроникой
  • Сфера радиоэлектроники
    микроконтроллеры
  1. Да, Вы абсолютно правы! Можно эту тему удалить? потому что, как я понимаю, эта тема уже не сюда. А в раздел программирования. Я заново там ее создам и стараюсь болееточно описать. Спасибо.
  2. тип данных и там и там char переделал код. while(1) { PORTC = num; PORTB = i; if (num == i){ PORTC = (1<<PC0); } } строки PORTC = num; PORTB = i; выводят на ножки числа. i - приходи с другого микроконтроллера. num - счет нажатий кнопки. когда ножки двух портов одинаково выдают сигнал, то условие срабатывает. Если удалить эти строки, то условие срабатывает с самого начала симуляции. Хотя числа не равны!!! Почему ?
  3. Доброго времени суток! Я по USART передаю цифру, например 5, ко второму МК. Также ко второму МК подключена кнопка и настроен он на прерывания от нее. В нем (втором МК) хочу сравнить данные пришедшие от первого МК и количество нажатий кнопки. И после их совпадения, подать логическую единицу или ноль на любую ножку, например PC1. МК - две восьмые Атмеги вот часть кода: \\данные из другого МК по USART i=UDR; i=5; int num0 = 0; \\вектор прерывания. который при срабатывании увеличивает num0 на один ISR( INT0_vect) { num0 ++; } \\ сам код без инициализации юсартов и векторов прерываний с ними все в порядке, проверял \\ проблема в самом коде или в векторе прерывания int main(void) { while(1) { if (num0 = i) { PORTC |= (1<<PC1); } } } не работает сравнение! Что делаю не так?
  4. Аленд, я описал ровно то, что хочу. Ни больше, ни меньше. Где применять, это другой разговор. Я могу сделать тоже самое на МК с большим количеством ног. Например. на одну пришло напряжение, заводим мотор на 200 мс. На другую ножку пришло, заводим мотор на 300 мс. Тогда мне нужно 30-40 ножек использовать, это не практично. Поэтому такой вопрос.
  5. Доброго времени суток! Уважаемые, подскажите как с помощью переменного резистора управлять длительностью работы двигателя или изменять скорость его вращения? Сначала мы выставляем переменный резистор в определенное положение. С помощью тактовой кнопки замыкаем цепь, пропуская напряжение на микроконтроллер. По полученному напряжению микроконтроллер понимает на какую продолжительность включить электродвигатель. Может это как то можно сделать с помощью ШИМа. Что такое ШИМ понимаю, но тогда как объяснить МК генерировать такой-то ШИМ, если на одну из лапок пришло определенное напряжение? Выкладываю очень, очень упрощенную схему. Для полного понимания вопроса. Может есть другой, более простой способ это сделать?
×
×
  • Create New...