Для того же для чего большие и огромные тактовые частоты - Шоб были !ARV писал(а):ну расскажите, для чего переменная в аргументе требуется человечеству?!
CodeVision AVR в вопросах и ответах
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Реклама
- Сообщения: 16
- Зарегистрирован: Пт сен 05, 2008 05:15:14
Щас скажу,для чего переменная в паузе.Неохота было голову ломать с таймерами и решил сделать программный генератор импульсов-длительность начинается с 0,1мс и увеличивается с шагом 0,1 мс,частота до 100 гц,сделал таблицу,где например 50 гц=20000мкс (chast).Алгоритм примерно такой:
x=chast-длитель.;
PIND=1;
пауза(длитель.);
PIND=0;
пауза(х);
while(1);
Может это глупо,но пока ничего лучше в голову не приходит.
x=chast-длитель.;
PIND=1;
пауза(длитель.);
PIND=0;
пауза(х);
while(1);
Может это глупо,но пока ничего лучше в голову не приходит.
Последний раз редактировалось кошак Пт окт 17, 2008 21:37:55, всего редактировалось 1 раз.
Частота у вас возможно В ДВА РАЗА меньше будет ! Так что голову надо ломать.
Вы можете использовать цыклы While или For (см стр 5 в моей домашней) а в теле навставлять нужное число NOP инструкция АСМ. Как и написано в FAQ AVR.
Вы можете использовать цыклы While или For (см стр 5 в моей домашней) а в теле навставлять нужное число NOP инструкция АСМ. Как и написано в FAQ AVR.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Сообщения: 173
- Зарегистрирован: Чт мар 20, 2008 20:33:43
Мне бывало нужным использовать переменную в качестве аргумента функциии delay, причем запомнилось именно с мкс. Потому, что с ними функция не работает.
Кто нить смелый накалякает функцию-ТА ?
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Реклама
- Сообщения: 58
- Зарегистрирован: Сб июн 14, 2008 12:00:32
- Сообщения: 4
- Зарегистрирован: Чт дек 14, 2006 20:25:35
кошак, есть рабочий проект генератора прямоугольных импульсов на mega8515 для CV1.24.6
из функций
-задание произвольной частоты с клавиатуры
-задание скважности с клавиатуры
-триггер отключения по заданному количеству импульсов
-инвертирование импульсов
-автоматическое сохранение параметров в EEPROM
дисплей 20x4. клавиатура матрица 4x4.
DEL при включении - вход в меню настроек.
Диапазон частоты: 100-22000 Гц
Скважность: 1/2-1/25
Число импульсов триггера: 0-65535
схема и модель в протеусе (версии 6.9 по моему)
Погрешность достаточная для домашнего использования. Реализовано при помощи таймеров.
Без их использования, при помощи функций delay нужной точности добиться не удается ибо не ассемблер.
Простора для доработки - море
Пользуйся на здоровье! Писал давно, работало отлично! Просьба не нарушать копирайта:)
из функций
-задание произвольной частоты с клавиатуры
-задание скважности с клавиатуры
-триггер отключения по заданному количеству импульсов
-инвертирование импульсов
-автоматическое сохранение параметров в EEPROM
дисплей 20x4. клавиатура матрица 4x4.
DEL при включении - вход в меню настроек.
Диапазон частоты: 100-22000 Гц
Скважность: 1/2-1/25
Число импульсов триггера: 0-65535
схема и модель в протеусе (версии 6.9 по моему)
Погрешность достаточная для домашнего использования. Реализовано при помощи таймеров.
Без их использования, при помощи функций delay нужной точности добиться не удается ибо не ассемблер.
Простора для доработки - море
Пользуйся на здоровье! Писал давно, работало отлично! Просьба не нарушать копирайта:)
- Вложения
-
- gen.rar
- прошивка + исходники + проект Proteus
- (171.13 КБ) 496 скачиваний
Последний раз редактировалось efko Сб окт 25, 2008 20:19:34, всего редактировалось 1 раз.
Добрый день! У меня несколько глупый вопрос: как мне в CVAVR организовать прерывание которое выполняется только во время нажатия кнопки т.е. при отпускании обработка прерывания обрывается на том месте на котором она выполнялась!
IN GOD WE TRUST
Интересно, сколько вы намериваетесь в этом прерывании сидеть?Степаныч писал(а):Добрый день! У меня несколько глупый вопрос: как мне в CVAVR организовать прерывание которое выполняется только во время нажатия кнопки т.е. при отпускании обработка прерывания обрывается на том месте на котором она выполнялась!
Настроить прервание по изменению уровня на INT0 соотв. нажатию кнопки. Настраивать удобно мастером CVAVR , а пример прерываний с кнопочками и симуляцией работы есть на стр. 3 у меня в домашней страничке.Степаныч писал(а): как в CVAVR организовать прерывание которое выполняется только во время нажатия кнопки
Это не понял совсем.Степаныч писал(а): т.е. при отпускании обработка прерывания обрывается на том месте на котором она выполнялась
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Ну тогда в прерывание вставить цикл
а если нужен сброс "вочдога" то
Код: Выделить всё
while (кнопка нажата);Код: Выделить всё
while (кнопка нажата){
сброс вочдога
};Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Да я понимаю что долго засиживаться в обработчике прерывания мягко сказать не оч. хорошоKIP писал(а): Интересно, сколько вы намериваетесь в этом прерывании сидеть?
IN GOD WE TRUST
А у Вас есть индикатор загрузки проца, к которому Вы все это собираетесь подключать?
Оптимизм х (Опыт + Знания) = const
Наверно индикатор активности HDD
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Упс!!Извиняйте за безграмотность!Aheir писал(а):А у Вас есть индикатор загрузки проца, к которому Вы все это собираетесь подключать?
IN GOD WE TRUST
ДЕЛАТЬ что-то это главное ! и читать конечно надо.Степаныч писал(а):в CVAVR - я уже начал писать программу мож че и получится!
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Обычно это красный светодиод на системном блоке ПК, который мигает в зависимости активности HDD. 



