Подскажите сайты про AVR

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

Сообщение 40inD » 05 сен 2005, 12:59

а если импульсы перекрываются? Пока он будет отрабатывать одно прерывание, пропустит начало второго импульса
Аватара пользователя
40inD
 
Сообщения: 265
Зарегистрирован: 17 июн 2005, 08:08
Откуда: Москва

Сообщение setar » 05 сен 2005, 13:33

40inD писал(а):а если импульсы перекрываются? Пока он будет отрабатывать одно прерывание, пропустит начало второго импульса

не должен. если я правильно понимаю то внешнее прерывание лишь флаг поднимает или сбрасывает в регистре.
а контроллер как видит его и свободен от других обработчиков так и обрабатывает следующее прерывание.
Правда возможны запаздывания запуска счётчиков, ну от этого нукуда не деться.
на практике когда длительность измеряемого импульса больше сотни тактов, ошибка практически не заметна.
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Сообщение ASin » 05 сен 2005, 14:19

setar писал(а):
40inD писал(а):а если импульсы перекрываются? Пока он будет отрабатывать одно прерывание, пропустит начало второго импульса

не должен. если я правильно понимаю то внешнее прерывание лишь флаг поднимает или сбрасывает в регистре.
а контроллер как видит его и свободен от других обработчиков так и обрабатывает следующее прерывание.
Правда возможны запаздывания запуска счётчиков, ну от этого нукуда не деться.
на практике когда длительность измеряемого импульса больше сотни тактов, ошибка практически не заметна.


Более того. Обработчик прерываний можно сделать тоже прерываемым. Первой командой скопировать значение таймера, второй -- разрешить прерывания. Только при этом надо гарантировать, что обработчик сумеет всё сделать до возникновния следующего такого же прерывания ;)
ASin
 
Сообщения: 155
Зарегистрирован: 18 дек 2004, 03:14
Откуда: Москва

Сообщение 40inD » 05 сен 2005, 14:31

Смогу я делать это на Меге32? Можно пример кода со вложенными прерываниями на С?
Аватара пользователя
40inD
 
Сообщения: 265
Зарегистрирован: 17 июн 2005, 08:08
Откуда: Москва

Сообщение ASin » 05 сен 2005, 16:41

40inD писал(а):Смогу я делать это на Меге32?

Ага.

40inD писал(а):Можно пример кода со вложенными прерываниями на С?

Тут синтаксис зависит от компилятора. На AvrGcc это будет примерно так:

Код: Выделить всё
SIGNAL( SIG_INTERRUPT0 )    // Прерывание со сбрасыванием флага
                           // Global Interrupt Enable I-bit
{
   unsigned int t = TCNT1; // (1) "Непрерываемые" действия
   sei();                  // (2) Разрешение остальных прерываний
   ...                     // (3) Обработка, которая может быть прервана
}


Однако, капля дёгтя. Поскольку обработчик прерывается, то другие прерывания могут задержать его выполнение, теоретически, до возникновения нового прерывания INT0. Что после этого произойдёт, я плохо себе представляю, но явно что-то нехорошее ;)
Поэтому надо либо гарантировать, что такой ситуации не возникнет, либо перед шагом (2) запрещать все "долгообрабатываемые" и частые прерывания, а после (3) снова их разрешать... И всё это ради более точного отсчёта времени ;)
ASin
 
Сообщения: 155
Зарегистрирован: 18 дек 2004, 03:14
Откуда: Москва

Re: Подскажите сайты про AVR

Сообщение YuriY » 05 сен 2005, 17:44

wolf писал(а):
40inD писал(а):Подскажите сайты с примерами программирования АВР на С и форумы соответствующие. Раньше программировал ПИКи. Хочу попробовать Атмел. Есть ли какие-то различия в программировании? Если с атмелом не разберусь, то робота буду делать на PIC18F4431

http://avr123.nm.ru - для новичков; очень подробно.
Могу также посоветовать книгу Евстифеева "Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL", электронная копия лежит тут: http://rapidshare.de/files/1294516/Evstifeev.Atmel.AVR.Tiny_Mega.Family.By.Grave.Tiny.html



Скачал книгу, а открыть не могу, чем ее смотреть???
YuriY
 
Сообщения: 20
Зарегистрирован: 13 май 2005, 17:41
Откуда: Донецк

Re: Подскажите сайты про AVR

Сообщение setar » 06 сен 2005, 12:16

YuriY писал(а):Скачал книгу, а открыть не могу, чем ее смотреть???

да, что то непонятно, файл без расширения, а заголовок вит такой
Код: Выделить всё
AT&TFORM hm#DJVMDIRM


Кто в курсе чем это смотреть.
не архив, pdf тоже не кушает.
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Сообщение 40inD » 06 сен 2005, 12:33

Так ссылку на форумы и не дал никто
Аватара пользователя
40inD
 
Сообщения: 265
Зарегистрирован: 17 июн 2005, 08:08
Откуда: Москва

Re: Подскажите сайты про AVR

Сообщение ASin » 06 сен 2005, 13:57

setar писал(а):
YuriY писал(а):Скачал книгу, а открыть не могу, чем ее смотреть???

да, что то непонятно, файл без расширения, а заголовок вит такой
Код: Выделить всё
AT&TFORM hm#DJVMDIRM


Кто в курсе чем это смотреть.
не архив, pdf тоже не кушает.


DjVu
ASin
 
Сообщения: 155
Зарегистрирован: 18 дек 2004, 03:14
Откуда: Москва

Сообщение setar » 06 сен 2005, 14:42

40inD писал(а):Так ссылку на форумы и не дал никто

зарубежный http://www.avrfreaks.net/
наших кроме сайтов перечисленных в шапке как дружественные ресурсы - не знаю.
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: Подскажите сайты про AVR

Сообщение wolf » 07 сен 2005, 01:30

setar писал(а):
YuriY писал(а):Скачал книгу, а открыть не могу, чем ее смотреть???

да, что то непонятно, файл без расширения, а заголовок вит такой
Код: Выделить всё
AT&TFORM hm#DJVMDIRM


Кто в курсе чем это смотреть.
не архив, pdf тоже не кушает.


Это формат DjVu, в простейшем случае смотрится плагином для эксплорера: http://www.lizardtech.com/download/dl_options.php?page=plugins.
Если поискать, можно найти вьюверы поудобнее.

40inD писал(а):Так ссылку на форумы и не дал никто

http://forum.electronix.ru/index.php?showforum=10
http://www.telesys.ru/wwwboards/mcontrol
http://www.caxapa.ru/mcu/wwwboard.html
http://fulcrum.ru/cgi-bin/bbs/topic_sel.pl?v=p&FID=1
wolf
 
Сообщения: 63
Зарегистрирован: 23 июл 2005, 00:39
Откуда: Казань

Сообщение North » 07 сен 2005, 15:20

Если я правильно понял требуется измерить время между двумя импульсами, приходящими на вход, причём иметь таких входов несколько. Если так, то можно конечно пользовать внешние прерывания, но для этого существуют входы input capture, имхо более удобные.
Аватара пользователя
North
 
Сообщения: 197
Зарегистрирован: 27 июл 2005, 14:12
Откуда: Дмитров, Москва
прог. языки: С, asm

Re: Подскажите сайты про AVR

Сообщение GxOST » 14 ноя 2005, 18:22

40inD писал(а):Подскажите сайты с примерами программирования АВР на С и форумы соответствующие.

Ещё есть эмбеддерский чат: #ru_embedded  :wink:
Аватара пользователя
GxOST
 
Сообщения: 4
Зарегистрирован: 14 ноя 2005, 17:30
Откуда: Санкт-Петербург

Сообщение 40inD » 14 ноя 2005, 22:09

North писал(а):Если я правильно понял требуется измерить время между двумя импульсами, приходящими на вход, причём иметь таких входов несколько. Если так, то можно конечно пользовать внешние прерывания, но для этого существуют входы input capture, имхо более удобные.

Вот как раз про это я и спрашивал в одном из своих постов. Мне никто не смог внятно ответить, есть ли InputCapture и аппаратный ШИМ на АВР (мне нужно было 3 канала IC и 4 независимых канала ШИМ) . В результате моя попытка попробовать перейти с ПИКов на АВР не удалась. Я уже все сделал на ПИКе.
Аватара пользователя
40inD
 
Сообщения: 265
Зарегистрирован: 17 июн 2005, 08:08
Откуда: Москва

ответ

Сообщение Vladex » 11 сен 2006, 10:23

testers писал(а):ой, забыл, желательно базовые схемки подключения и софт чем кодировать  :roll:

Базовые схемки(подключение кварца и RESET)-см. даташиты на эти контроллеры. Может с http://www.mc-prog.narod.ru что то пригодится, там же ссылка на софтины
Vladex
 
Сообщения: 37
Зарегистрирован: 24 янв 2006, 21:13
Откуда: Ярославль

Пред.След.

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11