Страница 68 из 304

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

Добавлено: Чт мар 17, 2011 16:15:44
kip96
Igor_67 писал(а):Кто сталкивался с такой проблемой
Думаю проблема как раз в устройстве программы. Программы с динамической индикацией уже обсуждались не раз. Вы куда таймеры то кропите ? Аж три штуки в 8-ой меге.
Вот тут не смотрели?http://bascom.at.ua/publ/i2c_clock_alarm/1-1-0-29
Главное раскоментированно отлично. И всё понятно что-да как. A у Вас ни одного комента.
В Протеусе вместо Нех вставьте Obj и пошагово ппоймёте что откуда лезет.

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

Добавлено: Чт мар 17, 2011 16:41:16
Igor_67
Да, пожалуй так будет лучше. Всем спасибо!

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

Добавлено: Чт мар 17, 2011 16:52:32
edm2007
При прогоне видно что он в S помещает 1 (когда минуты = 1, разумеется). А это что слева что справа - 1. Так же и с остальными до 9. Все так и должно быть. :)

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

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

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

Portb = Lookup(d1 , Digits)


Зуммер подключен к PORTB.0

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

Добавлено: Пт мар 18, 2011 08:45:47
kip96
У меня был подобный вопрос.
Попробуй в масив записать цифры в бинарном коде но не 8 а 7 знаков-

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

&b1000110
примерно так. При этом зумер должен быть на 7 порте (portb.7 к примеру)
А так вечером надо глянуть как я делал.

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

Добавлено: Пт мар 18, 2011 09:47:42
serg_svd
Пользовалься ли кто-нибудь командой ENCODER?
Не могу сейчас совладать с глюком, очень похожим на дребезг контактов.
Стоит ли пытаться ставить на ноги А и В энкодера дополнительные подтягивающие резисторы 10кОм, как советуют тут и конденсаторы как тут
Осциллографа к сожалению нет, чтоб посмотреть импульсы с энкодера :(

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

Добавлено: Пт мар 18, 2011 10:19:35
kip96
Это единственная команда, работа которой меня удовлетворила. Остальные предложенные в декаде работали плохо. При этом ни каких дополнительных элементов. Резисторы вообще лишние, т.к. там и так подтяжка 10 КОм. Просто с хелпа загружаем програму, подключаем к терминалу и смотрим. У меня ошибок было где-то 2%. При этом энкодер от магнитолы и довольно старой.
Сейчас работает у меня уже с полгода, проблем не вижу.

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

Добавлено: Пт мар 18, 2011 11:26:24
edm2007
kip96 писал(а):У меня был подобный вопрос.
Попробуй в масив записать цифры в бинарном коде но не 8 а 7 знаков
Это была самая первая мысль, которая мне пришла в голову. Но проверив в симуляторе увидел что при загрузке 7 знаков все равно ноль пишется. :(

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

Добавлено: Пт мар 18, 2011 12:02:16
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. Думал, что задержка большая и энкодер некорректно обрабатывается. Отключал этот сигнал, все равно работает нестабильно.
Поправьте пожалуйста код, или покажите пример своего кода

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

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

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

Добавлено: Пт мар 18, 2011 13:55:29
edm2007
Redrik Shuhart писал(а):Странный баг, кода который дал Игорь мне на прошлой странице, при нажатии по очереди зажигает все светодиоды, либо на основном, либо на фальстарте..
Примерно так? ***************** <<<<<< Необходимости в ссылке не увидел. Удалил.

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

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

If PinB.0 = 1 Then A = A + 1
- это уже дело другое...

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

Добавлено: Пт мар 18, 2011 17:41:18
edm2007
А вообще конечно использовать мегу8 для такой задачи... 4 зеленых лампы + 4 красных лампы + 2 светодиода (1 минута и 20 секунд) + 4 кнопки столов + 2 кнопки запуска (1 минута и 20 секунд) + 1 вывод для зуммера + 2 вывода питания и 1 вывод reset = 20 ног = Attiny2313.

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

Добавлено: Пт мар 18, 2011 19:27:59
Redrik Shuhart
Взял то, что было...

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

Добавлено: Сб мар 19, 2011 22:42:03
serg_svd
Вопрс опять про команду ENCODER
Почему она в моем куске кода, выложеном чуть ранее, плюсует по 3-4 секунды на один щелчок энкодера??? Как убрать такой дискретный шаг и сделать его равным 1?

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

Добавлено: Сб мар 19, 2011 22:55:58
kip96
Redrik Shuhart писал(а):Поправьте пожалуйста код, или покажите пример своего кода
У меня команда полностью с хелпа, даже имена подпрограмм не переименовывал. :dont_know: Ваша отличается только присутствием условия в подпрограмме.

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

Добавлено: Сб мар 19, 2011 23:11:14
serg_svd
kip96 писал(а):
У меня команда полностью с хелпа, даже имена подпрограмм не переименовывал. :dont_know: Ваша отличается только присутствием условия в подпрограмме.
Я так понял это мне ответили, а не Редрику?
С хэлпа или нет, разницы то? как с дискретностью энкодера боролись или почему он дает этот дискрет?

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

Добавлено: Вс мар 20, 2011 11:07:55
kip96
Ну да, Вам конечно. Блин с кнопкой "цитата" запутался
Про какую дескретность Вы говорите, На один щелчёк одно изменение. У меня так работает. Вы пишите что на щелчёк-4 изменения.
:dont_know: Я не знаю в чём проблемма! С программой с хелпа на терминал -также?
вообщем у меня так-же как в хелпе, ни каких доп элементов нет. Работает без проблем.

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

Добавлено: Вс мар 20, 2011 13:47:23
edm2007
kip96 писал(а):Вы пишите что на щелчёк-4 изменения...
В том и дело что не первый случай такого. На форуме баскома: http://www.mcselec.com/index2.php?optio ... ht=encoder

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

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

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

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