реклама на сайте
подробности

 
 
> Запуск таймера 16бит по внешнему прерыванию, Атмега+CodeVision
Vny4ek
сообщение Dec 4 2008, 06:27
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 145
Регистрация: 11-01-08
Пользователь №: 34 001



Никак не могу разобраться как сделать так:
При перепаде сигнала на входе от 0 до 5 срабатывает прерывание и запускает отсчет 16 битный счетчик
я правильно понял что нужно подовать сигнал на INT0 ножку и выбирать Rising Edge в мастере генерации кода? Если можно киньте плиз шаблон. как начать. по сути хочу вывести на дисплей значение таймера
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Ivan_33
сообщение Dec 10 2008, 06:35
Сообщение #2


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



хех...
1) если переменная сначала не объвлена как volatile то в прерывании с ней ничего не произойдет вообще
2) пусть прерывания сначала не было после включения... тогда программа пробежит по всем регистрам(что у тебя написано что надо установить) и затем сравнит если s=1 хотя s=0 так как прерывания у тебя не возникло и пойдет на след. строку... а там пустой бесконенчый цикл... так потом у тебя прерывание возникнет s=1 но все равно не включится так как проверку условия уже программа пробежала- поэтому нада проверку s сделать в бесконечном цикле...
в сами регистры не смотрел - тупо нет времени но надеюсь что правильно

по-моему так, если что наврал - скажите


--------------------
Go to the top of the page
 
+Quote Post
Aesthete Animus
сообщение Dec 10 2008, 09:20
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 222
Регистрация: 9-06-07
Пользователь №: 28 317



Цитата(_Ivan_33 @ Dec 10 2008, 09:35) *
1) если переменная сначала не объвлена как volatile то в прерывании с ней ничего не произойдет вообще

Это что, такая фича CodeVision-а? 07.gif
Go to the top of the page
 
+Quote Post
vik0
сообщение Dec 10 2008, 09:40
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 27-07-08
Из: теплые края
Пользователь №: 39 233



Цитата
Тоесть эту строчку нужно поместить в цикл While?

Да.
И, как было сказано, заменить
unsigned int s=1;
на
volatile unsigned int s=1;

Цитата
Это что, такая фича CodeVision-а? 07.gif

Точно не знаю, но по-моему, это такое "понимание" значения квалификатора volatile.. sad.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Vny4ek   Запуск таймера 16бит по внешнему прерыванию   Dec 4 2008, 06:27
- - Aesthete Animus   Цитата(Vny4ek @ Dec 4 2008, 09:27) Никак ...   Dec 4 2008, 12:51
- - Vny4ek   Неа, в том то и дело что не получилось, хочу вывес...   Dec 4 2008, 14:57
|- - vik0   Цитата(Vny4ek @ Dec 4 2008, 16:57) Может ...   Dec 4 2008, 18:48
|- - SysRq   Цитата(Vny4ek @ Dec 4 2008, 17:57) В функ...   Dec 4 2008, 21:18
- - Aesthete Animus   2Vny4ek Всецело согласен с предыдущим оратором. От...   Dec 4 2008, 21:16
- - Vny4ek   ОК понял! я домой приду вечером и выложу свой ...   Dec 5 2008, 06:02
- - Vny4ek   Вот код зацените пожалуйста что не так #include ...   Dec 10 2008, 06:25
- - Vny4ek   Тоесть эту строчку нужно поместить в цикл While? ...   Dec 10 2008, 07:05
- - Vny4ek   Все учел что сказали, перекомпилил нарисовал в про...   Dec 10 2008, 12:08
|- - mdmitry   Цитата(Vny4ek @ Dec 10 2008, 15:08) На но...   Dec 10 2008, 12:59
- - _Ivan_33   а без всяких дополнительных извращений на LCD что ...   Dec 10 2008, 12:59
- - Vny4ek   Если s==0 то выводится я пробовал ей присваивать з...   Dec 10 2008, 14:44
|- - Goodefine   Цитата(Vny4ek @ Dec 10 2008, 17:44) ...А ...   Dec 10 2008, 19:26
- - Vny4ek   Я учел ВСЕ рекомендации. В итоге вижу следующее: Н...   Dec 11 2008, 08:10
- - Goodefine   Схему подключения кнопки к INT0 приведите...   Dec 11 2008, 08:44
- - Vny4ek   Вот. хотя еще раз повторюсь при нажатии кнопки нач...   Dec 11 2008, 13:12
- - Goodefine   Да как так у вас получается? Взял код из вашего же...   Dec 11 2008, 13:41
- - Vny4ek   Попробуйте плиз мой хекс в протеусе использовать (...   Dec 11 2008, 14:12
- - Goodefine   Для какого кварца у вас хекс? У меня для 8 МГц... ...   Dec 11 2008, 15:13
- - Vny4ek   Вот мой проект. Посмотрите пожалуйста что не так В...   Dec 12 2008, 09:18
- - Goodefine   Это не проект, это прошивка. Проект - это все фай...   Dec 12 2008, 11:35
- - Vny4ek   Извините, невнимательность просто, вот файл проект...   Dec 12 2008, 12:52
- - SysRq   Цитата(Vny4ek @ Dec 10 2008, 15:08) Все у...   Dec 12 2008, 14:25
- - Vny4ek   Всем спасибо, заработало! Сразу вопрос собстве...   Dec 18 2008, 11:20
|- - Сергей Борщ   Цитата(Vny4ek @ Dec 18 2008, 13:20) Как м...   Dec 19 2008, 07:33
- - SysRq   Настройте таймер чтобы тикал с нужным дискретом (ч...   Dec 18 2008, 17:43
- - Goodefine   Прерывания на INT0 в меге16 можно настроить по ИЗМ...   Dec 19 2008, 07:02
- - Goodefine   Цитата(Сергей Борщ @ Dec 19 2008, 10:33) ...   Dec 19 2008, 08:59
|- - Сергей Борщ   Цитата(Goodefine @ Dec 19 2008, 10:59) Та...   Dec 19 2008, 10:30
- - Goodefine   Цитата(Сергей Борщ @ Dec 19 2008, 14:30) ...   Dec 19 2008, 12:57
- - Сергей Борщ   Цитата(Goodefine @ Dec 19 2008, 14:57) Уч...   Dec 19 2008, 13:51


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 15:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01419 секунд с 7
ELECTRONIX ©2004-2016