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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

Igor_67 писал(а):Кто сталкивался с такой проблемой

Думаю проблема как раз в устройстве программы. Программы с динамической индикацией уже обсуждались не раз. Вы куда таймеры то кропите ? Аж три штуки в 8-ой меге.
Вот тут не смотрели?http://bascom.at.ua/publ/i2c_clock_alarm/1-1-0-29
Главное раскоментированно отлично. И всё понятно что-да как. A у Вас ни одного комента.
В Протеусе вместо Нех вставьте Obj и пошагово ппоймёте что откуда лезет.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение Igor_67 »

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

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

Сообщение edm2007 »

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

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

Сообщение edm2007 »

Друзья, у меня вот какой вопрос. К порту подключен семисегментный индикатор. Но подключен без точки и занимает 7 ног. На 8 ноге висит зуммер. Индикация в прерывании. Получается что при каждой обработке прерывания пищалка выключается. Что естественно мешает ее работе. Вопрос заключается в следующем, как оставить пин порта в том состоянии, в котором он есть (зуммер включен, например)? Сейчас цифра закидывается так:

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

Portb = Lookup(d1 , Digits)


Зуммер подключен к PORTB.0
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

У меня был подобный вопрос.
Попробуй в масив записать цифры в бинарном коде но не 8 а 7 знаков-

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

&b1000110
примерно так. При этом зумер должен быть на 7 порте (portb.7 к примеру)
А так вечером надо глянуть как я делал.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

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

Сообщение serg_svd »

Пользовалься ли кто-нибудь командой ENCODER?
Не могу сейчас совладать с глюком, очень похожим на дребезг контактов.
Стоит ли пытаться ставить на ноги А и В энкодера дополнительные подтягивающие резисторы 10кОм, как советуют тут и конденсаторы как тут
Осциллографа к сожалению нет, чтоб посмотреть импульсы с энкодера :(
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

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

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

Сообщение edm2007 »

kip96 писал(а):У меня был подобный вопрос.
Попробуй в масив записать цифры в бинарном коде но не 8 а 7 знаков


Это была самая первая мысль, которая мне пришла в голову. Но проверив в симуляторе увидел что при загрузке 7 знаков все равно ноль пишется. :(
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

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

Сообщение serg_svd »

kip96 писал(а):Просто с хелпа загружаем програму, подключаем к терминалу и смотрим. У меня ошибок было где-то 2%. При этом энкодер от магнитолы и довольно старой.
Сейчас работает у меня уже с полгода, проблем не вижу.

Я так и делал как в хэлпе. Не совсем правда понял что дают задержки wait 0 или 1. Но с нулем работает стабильней. Только вот код обрабатывается нестабильно. Есть пропуски и х много, и даже ошибки направлений, при прокручивании например по часовой стрелке может выдать и обратное направление.

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

Set_time:
   Gosub Raschet
   enc=Encoder(pind.4, pind.3, Set_time_minus, Set_time_plus, 0)   
Goto Set_time

Set_time_minus:
   If Secunde > 1 Then
      Decr Secunde
      Gosub Beep1
   End If
Return

Set_time_plus:
   If Secunde < 599 Then
      Incr Secunde
      Gosub Beep1
   End If
Return


beep1 - звуковой сигнал длительностью 5мс. Дает щелчки при изменении переменной Secunde. Думал, что задержка большая и энкодер некорректно обрабатывается. Отключал этот сигнал, все равно работает нестабильно.
Поправьте пожалуйста код, или покажите пример своего кода
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
Redrik Shuhart
Друг Кота
Сообщения: 3641
Зарегистрирован: Пт апр 03, 2009 22:12:58
Откуда: Из Украины, Кировоградская облась,

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

Сообщение Redrik Shuhart »

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

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

Сообщение edm2007 »

Redrik Shuhart писал(а):Странный баг, кода который дал Игорь мне на прошлой странице, при нажатии по очереди зажигает все светодиоды, либо на основном, либо на фальстарте..


Примерно так? ***************** <<<<<< Необходимости в ссылке не увидел. Удалил.

А Игорь код и не давал особо. Он просто указал на очевидные вещи. А то что у тебя на PORTB.0 висит светик (согласно твоей схеме - 14 нога), а ты пишешь:

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

If PinB.0 = 1 Then A = A + 1


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

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

Сообщение edm2007 »

А вообще конечно использовать мегу8 для такой задачи... 4 зеленых лампы + 4 красных лампы + 2 светодиода (1 минута и 20 секунд) + 4 кнопки столов + 2 кнопки запуска (1 минута и 20 секунд) + 1 вывод для зуммера + 2 вывода питания и 1 вывод reset = 20 ног = Attiny2313.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Redrik Shuhart
Друг Кота
Сообщения: 3641
Зарегистрирован: Пт апр 03, 2009 22:12:58
Откуда: Из Украины, Кировоградская облась,

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

Сообщение Redrik Shuhart »

Взял то, что было...
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

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

Сообщение serg_svd »

Вопрс опять про команду ENCODER
Почему она в моем куске кода, выложеном чуть ранее, плюсует по 3-4 секунды на один щелчок энкодера??? Как убрать такой дискретный шаг и сделать его равным 1?
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

Redrik Shuhart писал(а):Поправьте пожалуйста код, или покажите пример своего кода

У меня команда полностью с хелпа, даже имена подпрограмм не переименовывал. :dont_know: Ваша отличается только присутствием условия в подпрограмме.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Аватара пользователя
serg_svd
Собутыльник Кота
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

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

Сообщение serg_svd »

kip96 писал(а):
У меня команда полностью с хелпа, даже имена подпрограмм не переименовывал. :dont_know: Ваша отличается только присутствием условия в подпрограмме.

Я так понял это мне ответили, а не Редрику?
С хэлпа или нет, разницы то? как с дискретностью энкодера боролись или почему он дает этот дискрет?
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

Ну да, Вам конечно. Блин с кнопкой "цитата" запутался
Про какую дескретность Вы говорите, На один щелчёк одно изменение. У меня так работает. Вы пишите что на щелчёк-4 изменения.
:dont_know: Я не знаю в чём проблемма! С программой с хелпа на терминал -также?
вообщем у меня так-же как в хелпе, ни каких доп элементов нет. Работает без проблем.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

kip96 писал(а):Вы пишите что на щелчёк-4 изменения...


В том и дело что не первый случай такого. На форуме баскома: http://www.mcselec.com/index2.php?option=com_forum&Itemid=59&page=viewtopic&t=9488&highlight=encoder
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

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

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

Сообщение edm2007 »

kip96 писал(а):Ну не знаю, чё мне на Библии поклястся!
a в протосе попробывать? Так-же?


Да ну что Вы !!! Никто же не говорит что оно не может работать. Просто пытаемся понять почему оно не всегда с этой командой работает. Теперь по-сути: энкодеров под рукой небыло, выпаял обычный контактный из мышки. Специально накидал код, чтобы ничего лишнего. Только индикация и пример из хелпа. В обработке направлений инкремент / декремент отображаемой переменной. Энкодер работает, направление определяется без проблем. И медленно крутишь и быстро - все замечательно. НО !!! Увеличение / уменьшение четко на 2 !!! А теперь крутим медленно. Как только вал начинает двигаться +1. Доходим до щелчка - еще +1. То бишь +1 между фиксированными положениями находится. :) Вот я и думаю...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Ответить

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