roboforum.ru

Технический форум по робототехнике.


Помогите с написанием программы

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Сообщение Змей-Горыныч » 03 мар 2005, 07:39

А ещё у 16-битного таймера/счётчика в AVR есть регистр сравнения! Можно туда загружать необходимое значение (правда его придется ещё определить  :roll: ) и по прерыванию при совпадении делать чего хочешь. Я сам делал на ATMege162 (там 2 таких т/с и по два регистра сравнения у каждого) 4 канальный генератор задержанных импульсов. С компа задавал 4 задержки от 125 нс до 8 секунд(для кварца на 8 МГц), и записывал их в эти 4 регистра сравнения. По совпадению в соответствующий канал выдавался импульс.
В электронике чудес не бывает! Бывают плохие контакты!
Аватара пользователя
Змей-Горыныч
 
Сообщения: 70
Зарегистрирован: 01 мар 2005, 14:54
Откуда: г. Томск

Сообщение Arsen » 28 мар 2005, 16:54

Змей-Горыныч писал(а):А ещё у 16-битного таймера/счётчика в AVR есть регистр сравнения! Можно туда загружать необходимое значение (правда его придется ещё определить  :roll: )


Зачем определять? есть программа вот тут: Расчет таймера называется.
Arsen
 
Сообщения: 110
Зарегистрирован: 11 окт 2004, 20:41
Откуда: Березники

Сообщение nest » 28 мар 2005, 18:43

setar писал(а):
aliens писал(а):

и как сделать чтобы переменной случайно присваивалось значение (типа как random на си)
:D  :roll:

А вот это открытый вопрос, я пока не знаю.


несколько раз попадались (пока что битые) ссыли на алкгоритм случайного числа на ассемблере.
сам же думаю делать на внешнем источнике шума.
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Сообщение Змей-Горыныч » 29 мар 2005, 05:55

Arsen писал(а):
Змей-Горыныч писал(а):А ещё у 16-битного таймера/счётчика в AVR есть регистр сравнения! Можно туда загружать необходимое значение (правда его придется ещё определить  :roll: )


Зачем определять? есть программа вот тут: Расчет таймера называется.

А если время задержки у тебя постоянно должно меняться в процессе работы, в зависимости от внешних воздействий? Внешняя программа не поможет, всё равно придется самому создавать алгоритм определения необходимого значения для счётчика.
В электронике чудес не бывает! Бывают плохие контакты!
Аватара пользователя
Змей-Горыныч
 
Сообщения: 70
Зарегистрирован: 01 мар 2005, 14:54
Откуда: г. Томск

Сообщение =DeaD= » 29 мар 2005, 09:39

nest писал(а):несколько раз попадались (пока что битые) ссыли на алкгоритм случайного числа на ассемблере.
сам же думаю делать на внешнем источнике шума.


=DeaD= писал(а):Униформным генератором случайных чисел называется формула:

RND[n+1]=(RND[n]*A+B) mod C.

Если вы не пишете систему криптографической защиты - вам врядли нужно что-то большее. А если все-таки пишете - покупайте аппаратный генератор случайных чисел.
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Сообщение nest » 31 мар 2005, 10:14

=DeaD=, а теперь всё это на ассемблере ? :)
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Сообщение =DeaD= » 31 мар 2005, 10:16

А вот и не угадали - я пока не освоил асм на AVR :)
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Пред.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 15