qulik.13
Участник*-
Постов
23 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о qulik.13
-
Звание
Участник
- День рождения 09.02.1986
Контакты
-
Сайт
Array
-
ICQ
Array
Информация
-
Город
Array
-
Время выполнения операции?
qulik.13 ответил qulik.13 тема в Программирование
Осцилограф - эт хорошо! :) Но не всегда он под рукой. А вот метод "ногодрыганья" и светодиоды в домашних условиях помогают, да бы поймать тот или иной момент! :) -
Гыы! Разобрался! I am Tupik! Пытался изменять частоту с дискретностью в 5кГц от 1кГц до 1 МГц... Абсолютно не учел, что с повышением частоты сигнала, дискретность его изменения падает! Например при значении регистра ICR1 = 20 частота сигнала ШИМ = 800кГц, а при ICR1 = 19 частота сигнала ШИМ = 842,10кГц следовательно чтобы переключить значение надо нажать 42/5=4 раза кнопку... Топик OFF!
-
Нет нет! Обработка прерывания занимает каких нибудь 20 мсек (в случае с кнопкой задержка от дребезга контактов 200 мсек). МК не срабатывает на каждое прерывание (нажатие)! Даже если между ними 1 сек! Приходится крутить энкодер кучу раз или кнопку держать несколько секунд.
-
МК пропускает нажатие кнопки...
qulik.13 опубликовал тема в MCS51, AVR, PIC, STM8, 8bit
Добрый день! Столкнулся со следующей трудностью: генерирую на ATmega8 ШИМ сигнал. Использую для это T/C1 в режиме Fast PWM со значением TOP=ICR1. Для изменения частоты пробовал 2 варианта: 2 кнопки притягивающие вывод МК к земле, постоянно опрашиваемые в цикле while и, энкодер, который срабатывает по прерыванию int0 (falling edge). В обоих случаях при частотах приближающихся к 600-800кГц МК начинает жутко тормозить и срабатывает при пятом-десятом нажатии кнопки (повороте энкодера). Причем чем больше частота, тем больше нажатий кнопки МК пропускает. Чего делать в такой ситуации? :unsure: -
Время выполнения операции?
qulik.13 ответил qulik.13 тема в Программирование
Да, Спасибо! Нашел где это отображается. Действительно самый простой вариант :) -
Время выполнения операции?
qulik.13 ответил qulik.13 тема в Программирование
Эм. Ссори за повтор вопроса! :) Ненашел свой топик, решил повторно создать темку и получил бан! :smile3009: Тем не менее всем спасибо за подсказки!! Насколько я понял в AVRStudio это можно сделать кликнув по View/Disassembler... и посчитав строчки. -
Доброго дня! Подскажите плиз, как определить время выполнения операции? В частности инструкции: if (PINB & 0x01){...}, без входа в скобки?
-
Время выполнения операции?
qulik.13 опубликовал тема в Программирование
Доброго времени суток! :rolleyes: Подскажите, плиз, как можно оценить время выполнения той или иной операции. В частности операции if (без входа внуть скобок). :cranky: while(1) { if (PINB & 0x01); else { ... } if(...); else { ... } } -
:) Ну да! Место бывает и заканчивается! Приходиться брать МК "потолще"! :)))) Посмотрел про modbus в Википедии. А это интересно! Я новичек в использовании интерфейсов (да и МК тоже :))и пока кроме как SPI и RS-232 ничего не использовал. А modbus - это уже что-то! Точнее это уже протокл. Надо познакомится с ним поближе. :1111493779:
-
Верно подмечено по поводу enter. Подтверждение переданного байта - это как минимум грамотно. А вот символа мне вполне достаточно для принятия решения (выбрать один из 8 вариантов): switch © { case 48: mig_led1(); break; //0 case 49: mig_led2(); break; //1 ... и т.д. } По крайней мере не требуется сравнивать строки! Что сэкономит Flash память. П.С. Посимвольный прием(передачу) я освоил. :)
-
Принцип получения строки по одному символу достаточно прост. А gets() я хотел применить, что бы текст программы сократить. Но после обсуждения понял, что лучше таки по одному символу принимать. :) А вот по поводу символа конца строки. передавать его все равно нужно, так что лучше сохранить. Принимаемая строка - это условность (для универсальности программы). Примимается один символ и в зависимости от его значения принимается решение. А вот передавать по USART нужно строку. Передается она при помощи puts(). Возникает мысль передавать тоже по символу :) , но как на это среагирует копьютер? Тоже надо драйвер по прерыванию собрать, думаю справлюсь...
-
Как правильно заметил ARV: абсолютно не терпит русских букв! Причем даже путь, указывающий где находится проект, тоже должон быть латиницей! Вот, а стоило столько мучаться?! :crying: