Например TDA7294

Форум РадиоКот • Просмотр темы - BASCOM AVR в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт фев 10, 2026 15:33:51

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 6068 ]     ... , , , 64, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пт фев 25, 2011 01:10:38 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 26
Зарегистрирован: Ср сен 17, 2008 14:32:15
Сообщений: 2106
Откуда: Старые Васюки
Рейтинг сообщения: 0
Moto_v3x писал(а):
Возможно так будет работать:

Для подпрограмм возможно да, но для прерываний точно нет :(

kip96 писал(а):
Как занести переменную в конкретный адресс, что-бы потом не искать её?

Я бы использовал EEPROM. В своё время сэкономил так кучу памяти, подменив табличную функцию массивом в EEPROM.

_________________
Даже остановленные часы два раза в сутки показывают правильное время.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 28, 2011 15:02:43 
Мучитель микросхем
Аватар пользователя

Карма: 7
Рейтинг сообщений: 19
Зарегистрирован: Пн авг 20, 2007 21:35:45
Сообщений: 485
Откуда: Мытищи, Московская область
Рейтинг сообщения: 0
Доброго времени суток, уважаемые знатоки !

Никак я не закончу свой девайс, ибо знаний по Баскому не хватает...

Вопрос в следующем: нужно отвести определенное время на анализ порта, к примеру не пришла ли единица на pinb.7 в течение 10 секунд. Сейчас я сделал это циклом в цикле, а внутри IF. Подозреваю, что это очень коряво, не очень красиво и проч...
В обучалке с декады прочитал про прерывания Timer0 и Timer1 (по переполнению). Но это переполнение очень быстро происходит (у меня кварц 4 мгц, меньше нельзя).

Помогите с проблемой, плиз ! :)

_________________
С уважением,
Алексей.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн фев 28, 2011 21:11:33 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
Gordon Shumway писал(а):
Но это переполнение очень быстро происходит (у меня кварц 4 мгц, меньше нельзя).
Можно включить предделитель таймера, а если будет мало - задействовать переменную в качестве счётчика числа прерываний таймера, т. е. при каждом прерывании, увеличиваем число в переменной на 1 и если в переменной окажется требуемое число, её обнуляем и выполняем нужные действия.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 01, 2011 04:20:01 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Чт янв 13, 2011 11:36:16
Сообщений: 184
Откуда: Красноярский край
Рейтинг сообщения: 0
Доброго всем времени суток.
Имеется девайс в стадии разработки с внешним прерванием и шиной 1-wire.
Вопрос: Может ли сбоить обмен данными 1-wire при приходе внешнего прерывания, если да, то как синхронизировать, при условии что период прерываний имеет очень широкий диапозон (от счетчика эл.энергии с импульсным выходом)?

_________________
Извращение это: программатор - AVR910 by Prottoss, прошивка - Doper, драйвер - Osamu Tamura, называется - STK500!


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 01, 2011 10:43:41 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 305
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2255
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
То бишь внешнее прерывание у Вас прерывает обмен по 1-Wire? Он не может сбоить, он БУДЕТ сбоить. Во время чтения/записи данных по шине 1-Wire нужно запрещать прерывания. Ну или работайте с 1-Wire в прерывании. :)

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 01, 2011 15:51:47 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Чт янв 13, 2011 11:36:16
Сообщений: 184
Откуда: Красноярский край
Рейтинг сообщения: 0
Если работать в прерывании то обмен данными будет происходить не равномерно от раз в час до раз в секунду. Если запречать прерывания то замер периода между импульсами коту под хвост. Как же быть, чтобы обмен происходил не позже чем раз в минуту?

_________________
Извращение это: программатор - AVR910 by Prottoss, прошивка - Doper, драйвер - Osamu Tamura, называется - STK500!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 01, 2011 16:06:38 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 305
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2255
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Я не предлагал обмен делать во внешнем прерывании. Ну настройте по таймеру как вам необходимо.

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 01, 2011 16:34:59 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Чт янв 13, 2011 11:36:16
Сообщений: 184
Откуда: Красноярский край
Рейтинг сообщения: 0
Спасибо. Не догнал. Не сталкивался с таймером в таком аспекте. Заказали устройство "все в одном", вот и ломаю голову с согласованием. Если не затруднит можно поподробнее ну или кусок кода, сам разберусь.

_________________
Извращение это: программатор - AVR910 by Prottoss, прошивка - Doper, драйвер - Osamu Tamura, называется - STK500!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 01, 2011 17:56:48 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 305
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2255
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
У Вас работа с 1-Wire занимает так много времени? В любом случае нельзя чтобы внешнее прерывание рвало данные. Так а про прерывание по таймеру - просто заходим по переполнению и увеличиваем переменную. Достигнет определенного значения - там же работаем с 1-Wire. Только в любом случае прерывание по переполнению запретит внешнее. Разве что выставится флаг внешнего прерывания, и оно не будет потеряно. Впрочем, оно и при запрете не потеряется.

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 01, 2011 18:25:04 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Чт янв 13, 2011 11:36:16
Сообщений: 184
Откуда: Красноярский край
Рейтинг сообщения: 0
Времени прилично займет - опрос девяти датчиков температуры. Будем разбираться...

_________________
Извращение это: программатор - AVR910 by Prottoss, прошивка - Doper, драйвер - Osamu Tamura, называется - STK500!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 02, 2011 17:16:20 
Мучитель микросхем
Аватар пользователя

Карма: 7
Рейтинг сообщений: 19
Зарегистрирован: Пн авг 20, 2007 21:35:45
Сообщений: 485
Откуда: Мытищи, Московская область
Рейтинг сообщения: 0
Мурик писал(а):
Gordon Shumway писал(а):
Но это переполнение очень быстро происходит (у меня кварц 4 мгц, меньше нельзя).
Можно включить предделитель таймера, а если будет мало - задействовать переменную в качестве счётчика числа прерываний таймера, т. е. при каждом прерывании, увеличиваем число в переменной на 1 и если в переменной окажется требуемое число, её обнуляем и выполняем нужные действия.


Оказалось, что Timer1 с предделителем 1024 вполне достаточно. Вот только я не понял, как этим пользоваться ? Таймер где-то накапливает счет ? Как понять, что таймер переполнился ?
Мне нужно поанализировать порт 10 секунд, а потом идти дальше, если на этом порту никаких изменений не произошло.

_________________
С уважением,
Алексей.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 02, 2011 17:26:25 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 305
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2255
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Gordon Shumway писал(а):
Таймер где-то накапливает счет ? Как понять, что таймер переполнился ?


Ну разумеется накапливает. В счетном регистре. А понять можно по прерыванию при переполнении. :)

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 02, 2011 17:39:08 
Мучитель микросхем
Аватар пользователя

Карма: 7
Рейтинг сообщений: 19
Зарегистрирован: Пн авг 20, 2007 21:35:45
Сообщений: 485
Откуда: Мытищи, Московская область
Рейтинг сообщения: 0
edm2007 писал(а):
Gordon Shumway писал(а):
Таймер где-то накапливает счет ? Как понять, что таймер переполнился ?


Ну разумеется накапливает. В счетном регистре. А понять можно по прерыванию при переполнении. :)


Сорри, а можно поподробнее ? Я пока не совсем понял, как это описАть в баскоме... Где искать этот счетный регистр ? И как поймать это прерывание при переполнении ?
:shock:

_________________
С уважением,
Алексей.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 02, 2011 17:57:08 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 38
Рейтинг сообщений: 305
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2255
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Да все просто на самом деле.

Код:
'*************************[Псевдокоманды управления]*********************

$regfile = "attiny2313.dat"    ' тип МК
$crystal = 4000000              ' выбор кристала для расчета задержек

'*************************[Инициализация прерываний]*********************

Config Timer0 = Timer , Prescale = 64   ' конфигурируем таймер
On Timer0 Refresh                               ' обзываем прерывание

Enable Interrupts                                  ' разрешаем все прерывания
Enable Timer0                                       ' и для таймера в частности
Start Timer0                                        ' запускаем таймер

'*************************[Начало основной программы]*********************

Do        ' крутимся здесь, ожидая прерывания

Loop

'**********************[Процедуры обработки прерываний]******************

Refresh:                             ' прерывание таймера Т0 по переполнению

' делаем тут что нам нужно

Return                               ' выход из обработчика прерывания



Сначала настраиваем таймер. Командой On Timer0 Refresh мы даем ему метку, по которой он перейдет при переполнении счетного регистра. Затем, разрешаем работу этого прерывания. И все. Крутимся себе в основном цикле, что-нибудь делая, например. А как только таймер переполнится, программа сразу уйдет на метку Refresh. После обработки прерывания программа вернется на место, где была прервана.
В коде выше при тактовой частоте 4 МГц и пределителе 64 он будет увеличивать свое значение каждые 64 / 4 000 000 = 0,016 мс. Значит переполняться он будет каждые 255 * 0,016 = 4,08 мс.

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср мар 09, 2011 12:22:07 
Встал на лапы

Зарегистрирован: Пт апр 16, 2010 12:30:03
Сообщений: 84
Рейтинг сообщения: 0
Доброго дня! Хочу попробовать изготовить светосинхронизатор для внешней фотовспышки на Tiny13, но ощущаю серьезную нехватку знаний. Имеющийся в наличии промышленный синхронизатор работает на первую ведущую вспышку, в то время, когда многие фотоаппараты дают 2-3 предвспышки для замера экспозиции и сужения зрачка фотографируемого (для предотвращения красных глаз). Подскажите схемку, чтобы можно было выбирать, на какой пых ведущей вспышки срабатывала ведомая.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 10, 2011 08:48:04 
Держит паяльник хвостом
Аватар пользователя

Карма: 18
Рейтинг сообщений: 50
Зарегистрирован: Ср авг 26, 2009 08:24:50
Сообщений: 965
Откуда: 1300км от Пупа
Рейтинг сообщения: 0
Темой не ошиблись?

_________________
Все делают ошибки, только мудрецы - новые, а дураки - старые.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 10, 2011 09:03:02 
Встал на лапы

Зарегистрирован: Пт апр 16, 2010 12:30:03
Сообщений: 84
Рейтинг сообщения: 0
Темой не ошибся, но возможно, не совсем корректно сформулировал. Поскольку пытаюсь писать на Bascom, хотел узнать, как именно можно зафиксировать резкое изменение освещенности, с возможностью выбора, по какому из них замкнуть синхроконтакт вспышки. Логику для себя вижу такую: питание - 9В, делитель напряжения последовательно с фотодиодом (фототранзистором? фоторезистором?) и на АЦП. При включении устройства - замер напряжения, соответствующего освещенности. При резком изменении напряжения - подсчет количества этих изменений. Но правильно ли я себе это представляю - не уверен.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 10, 2011 10:09:25 
Держит паяльник хвостом
Аватар пользователя

Карма: 18
Рейтинг сообщений: 50
Зарегистрирован: Ср авг 26, 2009 08:24:50
Сообщений: 965
Откуда: 1300км от Пупа
Рейтинг сообщения: 0
Не знаю тонкостей вашей работы, могу посоветовать:
В зависимости от того, насколько сильно датчик освещается.
Если применить фототранзистор-так вообще можно на любой порт, или прерывание, взависимости от задачи.
Код:
do
if chot=3(или сколько надо) then....
....
chot=0
end if
loop
int0:
incr chot
return

если применять ацп с фоторезистором
то проверять его по таймеру, каждые полсекунды скажем.
и сравнивать с предыдущим.
Но ацп медленный вроде,для таких делов :dont_know: Не ориентируюсь в скорости вспышек.
Разницу тут уже экспериментально, подбирать наверное, чтоб на тучи не реагировало.
ЗЫ. Я б воще такую байду на компораторе и счётчике сделал :)) Но опять-же, не знаю всех тонкостей.

_________________
Все делают ошибки, только мудрецы - новые, а дураки - старые.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 10, 2011 20:38:03 
Электрический кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 2
Зарегистрирован: Вт окт 21, 2008 11:46:23
Сообщений: 1051
Откуда: Барнаул
Рейтинг сообщения: 0
Привет, коты!
Вопрос на засыпку: кто-нибудь пробовал реально (не в симуляторе) подключать больше двух датчиков DS18B20 на шину 1WIRE?
И образец кода, если можно, в баскоме. У меня больше двух датчиков - кажут всякую хрень.
В данный момент свой код предоставить не могу, по причине того, что работаю с ноута, а все проекты на стационаре...

_________________
Цапу крутить надо!!! Ку или не ку?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Чт мар 10, 2011 21:00:50 
Встал на лапы

Зарегистрирован: Пт апр 16, 2010 12:30:03
Сообщений: 84
Рейтинг сообщения: 0
Спасибо kip96! Наверное, попробую сделать на фототранзисторе, хотя еще есть вопросы по конструкции, но кое-что нашел в инете. Почему-то народ избегает микроконтроллеры, используя логику и тригеры.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 6068 ]     ... , , , 64, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y