Мелкие вопросы по МК и ПЛИС.
- Aheir
- Модератор
- Сообщения: 4517
- Зарегистрирован: Пн апр 03, 2006 11:43:25
- Откуда: Санкт - Петербург
- Контактная информация:
Уже несколько раз писали на форуме, ищите. Если коротко, то потребуется внешнее прерывание и таймер. Далее, 2 подхода:
1. За фиксированный интервал времени (отсчитываем таймером) считаем количество импульсов (внешним прерыванием)
2. Измеряем время (таймером), за которое случается определенное (заданное) количество импульсов.
1. За фиксированный интервал времени (отсчитываем таймером) считаем количество импульсов (внешним прерыванием)
2. Измеряем время (таймером), за которое случается определенное (заданное) количество импульсов.
Оптимизм х (Опыт + Знания) = const
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Aheir писал(а):Уже несколько раз писали на форуме, ищите. Если коротко, то потребуется внешнее прерывание и таймер. Далее, 2 подхода:
1. За фиксированный интервал времени (отсчитываем таймером) считаем количество импульсов (внешним прерыванием)
2. Измеряем время (таймером), за которое случается определенное (заданное) количество импульсов.
3. измеряем период (время между двумя имульсами) и находим частоту, как обратную величину. единственный разумный способ для измерения очень низких частот
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Aheir писал(а):Уже несколько раз писали на форуме, ищите. Если коротко, то потребуется внешнее прерывание и таймер. Далее, 2 подхода:
1. За фиксированный интервал времени (отсчитываем таймером) считаем количество импульсов (внешним прерыванием)
2. Измеряем время (таймером), за которое случается определенное (заданное) количество импульсов.
я эти способы понимаю я имел ввиду обьяснить на коде в си тоесть как это организуеться в си извеняюсь просто с мк вот тока столкнулся пришлось учиться с ними работать так что извеняюсь за свою непонятливость желательно чтобы было в виде на определеный поррт есть вход меандра надо наиболее простой конструкцией определить его частотту желательно все сделать програмно заранее спасибо
- Aheir
- Модератор
- Сообщения: 4517
- Зарегистрирован: Пн апр 03, 2006 11:43:25
- Откуда: Санкт - Петербург
- Контактная информация:
Прошу туда:
http://www.radiokot.ru/forum/viewtopic.php?t=5877
Полезное по теме:
http://www.radiokot.ru/forum/viewtopic.php?t=4615
http://www.radiokot.ru/forum/viewtopic.php?t=63
http://www.radiokot.ru/forum/viewtopic.php?t=6662
http://www.radiokot.ru/forum/viewtopic.php?t=5877
Полезное по теме:
http://www.radiokot.ru/forum/viewtopic.php?t=4615
http://www.radiokot.ru/forum/viewtopic.php?t=63
http://www.radiokot.ru/forum/viewtopic.php?t=6662
Оптимизм х (Опыт + Знания) = const
-
Skrrmrchoh
- Нашел транзистор. Понюхал.
- Сообщения: 185
- Зарегистрирован: Чт сен 06, 2007 22:36:09
- Откуда: Санкт-Петербург
- Aheir
- Модератор
- Сообщения: 4517
- Зарегистрирован: Пн апр 03, 2006 11:43:25
- Откуда: Санкт - Петербург
- Контактная информация:
В качестве примера:
http://www.radiokot.ru/articles/14
Там есть ссылка на неплохой сайт по теме, опbсано более 10 протоколов.
Скоро будет материал по RC-5.
http://www.radiokot.ru/articles/14
Там есть ссылка на неплохой сайт по теме, опbсано более 10 протоколов.
Скоро будет материал по RC-5.
Оптимизм х (Опыт + Знания) = const
Помогите пожалуста разобраться: в программе кусок отвечает за проверку нажатия кнопок:
ldi sosA,0b00111111
in sosA,PinA
......
Вот вобщем если написано так то работает, только я не могу понять зачем нужна первая строчка, без неё почему то жутко глючит. (я её случайно вобще подписал) Ведь здесь все равно потом сразу же считываются все биты из РВВ А, неважно что записано до этого? Для информации DDRA=0b11000000, но ведь команда IN считывает биты независимо от того настроен ли выход на чтение или запись?
И вобще, это проверялось пока только в протеусе, может это в нем проблема?
ldi sosA,0b00111111
in sosA,PinA
......
Вот вобщем если написано так то работает, только я не могу понять зачем нужна первая строчка, без неё почему то жутко глючит. (я её случайно вобще подписал) Ведь здесь все равно потом сразу же считываются все биты из РВВ А, неважно что записано до этого? Для информации DDRA=0b11000000, но ведь команда IN считывает биты независимо от того настроен ли выход на чтение или запись?
И вобще, это проверялось пока только в протеусе, может это в нем проблема?
- Томатный
- Нашел транзистор. Понюхал.
- Сообщения: 174
- Зарегистрирован: Вт июл 31, 2007 20:32:30
- Откуда: Киев, Украина
- Контактная информация:
Помогите разобраться, как заставить Атмега8 спать?
в даташыте: To enter any of the five sleep modes, the SE bit in MCUCR must be written to logic one and a
SLEEP instruction must be executed.
Что значит "and a SLEEP instruction must be executed" ?
Что это за инструкция? Почему сразу после установки бита SE МК не засыпает?
Пишу в WinAVR
в даташыте: To enter any of the five sleep modes, the SE bit in MCUCR must be written to logic one and a
SLEEP instruction must be executed.
Что значит "and a SLEEP instruction must be executed" ?
Что это за инструкция? Почему сразу после установки бита SE МК не засыпает?
Пишу в WinAVR
- Томатный
- Нашел транзистор. Понюхал.
- Сообщения: 174
- Зарегистрирован: Вт июл 31, 2007 20:32:30
- Откуда: Киев, Украина
- Контактная информация:
Ну и в том месте, где МК должен заснуть, ставите команду SLEEP.
Мне вот и интересно как эта команда выглядит в WinAVR.
А ещё интересно как она работает. Можно ли её выполнить изменив значения определеного регистра? Или это что-то другое?
Mu3y, на сколько я знаю, с регистра PINx можно прочитать порты, настроеные только как входы ибо порты настроеные как входы отключены от PINx и подключены к PORTx
Томатный писал(а):Мне вот и интересно как эта команда выглядит в WinAVR.
А ещё интересно как она работает. Можно ли её выполнить изменив значения определеного регистра? Или это что-то другое?
В winavr я пока не работаю (и вообще на С), только установил, но есть подозрения, что это sleep_cpu(). После выполнения прекращается тактирование некоторых кусков МК в соответсвии с выбранным режимом сна.
- Томатный
- Нашел транзистор. Понюхал.
- Сообщения: 174
- Зарегистрирован: Вт июл 31, 2007 20:32:30
- Откуда: Киев, Украина
- Контактная информация:
Пришлось облазить содержимое папки WinAVR...
Разобрался. Нужно подключить библиотеку sleep.h и юзать функции
set_sleep_mode(n); // n - выбор режима
sleep_mode();
Что делает функция - уже понятно, но как это она делает?
Разобрался. Нужно подключить библиотеку sleep.h и юзать функции
set_sleep_mode(n); // n - выбор режима
sleep_mode();
После выполнения прекращается тактирование некоторых кусков МК в соответсвии с выбранным режимом сна.
Что делает функция - уже понятно, но как это она делает?
- tych
- Э...
- Сообщения: 2792
- Зарегистрирован: Ср апр 04, 2007 08:39:14
- Откуда: Москва
- Контактная информация:
числа назовите. и код жедлательно показать.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru