BASCOM AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

Re: BASCOM AVR в вопросах и ответах

Сообщение aleksandr-zh »

я не могу понять Ваш алгоритм, но даже замена на waitus 4000 у меня приводилак иному результату :)
хотя, по логике, записи - синонимы!
Аватара пользователя
TRIOD
Вымогатель припоя
Сообщения: 693
Зарегистрирован: Вт сен 15, 2009 16:23:06
Откуда: Москва

Re: BASCOM AVR в вопросах и ответах

Сообщение TRIOD »

В се просто. Мне нужно после получения значений для шима приостановить исполнение основного цикла программы на время от 5 до 10 секунд. Время задержки генерируется таким кодом

Код: Выделить всё

Do 
 temp5=RND(11)
Loop until temp5>4 AND Temp5<11
Wait Temp5

если так то переодически без всякой закономерности диод мергает. Причём может 5 минут нормально работать а потом начать мергать.

А вот если написать просто Wait 10 то не мергает. Даже если написать Wait 100.
Только абсолютная пустота бездны принесёт мне покой.
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение Секретный кот »

TRIOD
Похоже, это тот самый случай несовместимости команд задержки с переменными, о котором я писАл парой страниц ранее в этой ветке.
Даже остановленные часы два раза в сутки показывают правильное время.
Аватара пользователя
ВНН
Потрогал лапой паяльник
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

Re: BASCOM AVR в вопросах и ответах

Сообщение ВНН »

Почувствуй разницу :
По прерыванию - и задержка по ходу выполнения.
PS.Ктото при удержание цвета забыл отключить прерывание А ТАЙМЕР ТИКАЕТ.
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
Аватара пользователя
TRIOD
Вымогатель припоя
Сообщения: 693
Зарегистрирован: Вт сен 15, 2009 16:23:06
Откуда: Москва

Re: BASCOM AVR в вопросах и ответах

Сообщение TRIOD »

ВНН писал(а):Почувствуй разницу :
По прерыванию - и задержка по ходу выполнения.
PS.Ктото при удержание цвета забыл отключить прерывание А ТАЙМЕР ТИКАЕТ.


Весь прикол в том что при задании задержки константой нефига немигает.
И зачем отключать таймер?
Вдобавок даная программа, но на С работает нормально без глюков.
Только абсолютная пустота бездны принесёт мне покой.
Аватара пользователя
ВНН
Потрогал лапой паяльник
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

Re: BASCOM AVR в вопросах и ответах

Сообщение ВНН »

Извини бегло посмотрел исходник и всуть не вник.
Если память не изменяет WAIT неможет работать с переменными
А=100
WAIT A
Только WAIT 100
А задержку можно реализовать через таймер считая количество тиков.
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: BASCOM AVR в вопросах и ответах

Сообщение Мурик »

Почему бы тогда не сделать так?

Код: Выделить всё

Do
  temp5=RND(11)
Loop Until Temp5 > 4 And Temp5 < 11

For I = 1 To Temp5
  Wait 1
Next I
Аватара пользователя
Microtech
Поставщик валерьянки для Кота
Сообщения: 2052
Зарегистрирован: Вт ноя 03, 2009 21:02:38
Откуда: Москва
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение Microtech »

Вопрос знатокам. Нужно делать из 32х бит 9-и разрядное десятичное число для индикации. Места маловато - attiny13. Что будет меньше места занимать? Средства языка, с использованием текстовых строк и STR(x) где x переменная long, 4 байта или ассемблерная вставка с преобразованием 4х байт в BCD (ASCII)? Или есть другой стандартный и легкий способ?
Аватара пользователя
TRIOD
Вымогатель припоя
Сообщения: 693
Зарегистрирован: Вт сен 15, 2009 16:23:06
Откуда: Москва

Re: BASCOM AVR в вопросах и ответах

Сообщение TRIOD »

Народ у когонибудь есть библиотека для работы с дисплеем от Nokia 3310.
Только абсолютная пустота бездны принесёт мне покой.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

Наверняка Вы это уже видели, но библиотеки там есть. http://bascomavr.3bb.ru/viewtopic.php?id=23

Да, и еще такая штука есть, FastLCD. И для баскома и под этот дисплей... Не проверял только. :)
Последний раз редактировалось edm2007 Ср фев 02, 2011 20:21:26, всего редактировалось 1 раз.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
TRIOD
Вымогатель припоя
Сообщения: 693
Зарегистрирован: Вт сен 15, 2009 16:23:06
Откуда: Москва

Re: BASCOM AVR в вопросах и ответах

Сообщение TRIOD »

Сылки там видут на сайт требующий регистрации, но всеравно спасибо.

И ещё.
Может кто подскажет как правильно работать с таймерами в ркежиме ШИМ на микроконтролере Attiny85.
Если я правыильно понял в Attiny85 два двухканальных 8 битных таймера.
Как правыильно настроить их в Bascom.
Только абсолютная пустота бездны принесёт мне покой.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

Нет, только что посмотрел, все спокойно скачивается, регистрация не нужна.

А программа вот:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

Вот, если не качается библиотека. http://zalil.ru/30443902
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение Секретный кот »

Кто в курсе, почему глючит следующий код:

Код: Выделить всё

Config INT0=Falling ;Прерывание по отрицательному фронту сигнала на INT0
On INT0 metka_int0
Enable Interrupts

Start:
Disable Int0 ;Временно выключаем прерывание по INT0

;Здесь выполняем некий длинный код, во время которого меняется сигнал на INT0

Wait 10  ;Пауза после выполнения кода, в этот период изменений сигнала на INT0 гарантированно нет

Enable Int0 ;Включаем прерывание по INT0

Goto Start

metka_int0:
Set Led ;Зажигаем светодиод

МК MEGA162. Глюк в следующем: светодиод всегда зажигается прямо в момент разрешения прерывания INT0! При том, что должен бы загораться только по отрицательному фронту сигнала на этом выводе. Значение задержки Wait только меняет момент ложного срабатывания этого прерывания.
Такое ощущение, что во время запрета прерываний они всё равно как-то фиксируются и "выстреливают" в момент их разрешения. Это нормально или имеет место глюк Баскома?
Даже остановленные часы два раза в сутки показывают правильное время.
Аватара пользователя
aleksey_gregul
Встал на лапы
Сообщения: 130
Зарегистрирован: Ср дек 29, 2010 17:30:34

Re: BASCOM AVR в вопросах и ответах

Сообщение aleksey_gregul »

Код не глючит.
Просто Вы неправильно понимаете систему прерываний.
Если условие для прерывания происходит, то выставляется флаг прерывания.
И если это прерывание разрешено, оно выполняется.
Если Вы запретили прерывание, оно не будет выполняться. Но если Вы его разрешите и был установлен флаг,
то оно обязательно выполнится.
В Вашей ситуации нужно бы ручками перед разрешением прерывания, очистить его флаг.
Флаги также автоматом сбрасываются при обработке прерываний.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: BASCOM AVR в вопросах и ответах

Сообщение Мурик »

Секретный кот писал(а):Глюк в следующем: светодиод всегда зажигается прямо в момент разрешения прерывания INT0! При том, что должен бы загораться только по отрицательному фронту сигнала на этом выводе. Значение задержки Wait только меняет момент ложного срабатывания этого прерывания.Такое ощущение, что во время запрета прерываний они всё равно как-то фиксируются и "выстреливают" в момент их разрешения. Это нормально или имеет место глюк Баскома?
Это не глюк баскома, а особенность ядра AVR.
Прочитайте внимательно это http://www.decada.org.ru/project/lessons/bascom_avr/10
А именно раздел Что за GIFR?
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение Секретный кот »

aleksey_gregul писал(а):В Вашей ситуации нужно бы ручками перед разрешением прерывания, очистить его флаг.

Всё ясно, я так и подозревал, и более того – уже решил проблему именно так. Точно так же, как с DTMFOUT и ручной очисткой таймера. Просто по наивности ожидал, что это должен бы делать сам Баском.
Мурик писал(а):Прочитайте внимательно это http://www.decada.org.ru/project/lessons/bascom_avr/10

Ссылка не открывается, но если там тоже про регистры/флаги/ассемблер AVR, то я и так в курсе. Просто от ЯВУ ждал большей автоматизации подобной рутины.
Даже остановленные часы два раза в сутки показывают правильное время.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

Секретный кот писал(а):Просто по наивности ожидал, что это должен бы делать сам Баском.


Так а если не нужна очистка флага прерываний перед разрешением? Ели наоборот нужно чтобы сей факт был зафиксирован? :))
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
TRIOD
Вымогатель припоя
Сообщения: 693
Зарегистрирован: Вт сен 15, 2009 16:23:06
Откуда: Москва

Re: BASCOM AVR в вопросах и ответах

Сообщение TRIOD »

Доброе время суток.
Народ помогите настроить таймеры в режим ШИМ на Attiny85.
Просто как не пробывал неполучается.
Только абсолютная пустота бездны принесёт мне покой.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

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

Вернуться в «AVR»