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

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

Добавлено: Чт дек 23, 2010 14:37:41
user2007
TRIOD писал(а):Спасибо за подсказку. теперь я понимаю что Debounce мне не подходит. Поскольку мне нужен вариант который не будет зависить от задержек в основном цикле програмы. Получается только через таимеры.
Совершенно верно! Марк Альбертс советует использовать в примерах(см.Config Timer0)
Timer0 как системный таймер с безусловным прерыванием программы по факту его переполнения.
Смотрим в словаре: BOUNCE - отскок, дергание; на французский манер DEBOUNCE - антидребезг, время выдержки до установления состояния - вместо него можно использовать WAITMS. :))

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

Добавлено: Чт дек 23, 2010 18:29:07
Секретный кот
К чуть ранее обсуждавшейся теме: довольно странно, что компилятор не ругается на переменные в задержках (wait, waitms), хотя по идее должен бы, раз их использовать нельзя.

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

Добавлено: Чт дек 23, 2010 18:42:55
edm2007
Секретный кот писал(а):К чуть ранее обсуждавшейся теме: довольно странно, что компилятор не ругается на переменные в задержках (wait, waitms), хотя по идее должен бы, раз их использовать нельзя.
Так это только про Waitus написано, вроде. "The WAITUS is used internal by some statements. It was added to the BASCOM statements but it does NOT accept a variable. Only a constant is accepted."

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

Добавлено: Чт дек 23, 2010 18:47:20
user2007
Секретный кот писал(а):К чуть ранее обсуждавшейся теме: довольно странно, что компилятор не ругается на переменные в задержках (wait, waitms), хотя по идее должен бы, раз их использовать нельзя.
А кто говорит про переменные в макрокомандах WAIT, WAITUS, WAITMS? Все они применяются только с константами. Но в цикле (см.стр.48 форума) можно получить любую задержку,задавая КОЛИЧЕСТВО циклов. Эта величина является переменной, зависящей от условий программы.
Например:
Const N = 10
WAITMS N 'это ничего не нарушает - N не меняется, всегда равно 10.
А если сделаем так:
Const N = 10
Dim N1 As WORD
-------------------
WHILE N1>0
WAITMS N '(или WAITUS N, или WAIT N) - в задержке КОНСТАНТА
DECR N1
WEND
то получаем программную переменную задержку с кратностью 10 мс.Так и задумывал Марк Альбертс. Сейчас он пошел на поводу у неких просителей и рассматривает вопрос о разрешении
переменной в макрокоманде WAIT.По-моему, это лишнее. Все достаточно стандартно и логично :)






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

Добавлено: Чт дек 23, 2010 19:25:34
aleksandr-zh
в новой версии уже сделано

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

Добавлено: Чт дек 23, 2010 21:35:44
kip96
A, Mark Alberts, не говорит ни где, что делает строчка Config Lcd = 16 * 1 или Config Lcd = 40 * 4 :sleep: ?

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

Добавлено: Чт дек 23, 2010 21:49:51
aleksandr-zh
а разве из инструкции не ясно?
запустите Баском, нажмите F1
наберите CONFIG LCD
и всё написано...

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

Добавлено: Чт дек 23, 2010 22:26:56
kip96
kip96 писал(а):вот писал я тут про индикатор 1601. ни как не выходит одной строчкой 16 символов написать. И на что я обратил внимание-Как бы я не писал Config Lcd = 16 * 1 или Config Lcd = 40 * 4, в HEX файле ни чего не меняяется. На кой тогда вообще эта строчка?
При разных Config Lcd , HEX файл у меня получался одинаковый. Получается нет разницы!

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

Добавлено: Чт дек 23, 2010 22:58:29
Секретный кот
user2007 писал(а):А кто говорит про переменные в макрокомандах WAIT, WAITUS, WAITMS?
А что собственно мешает про них говорить в случае WAIT и WAITMS? В документации про это ни слова (в отличие от WAITUS), компилятор на их использование не ругается. Тем не менее, по факту действительно они не работают.
Отсюда и непонятки.

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

Добавлено: Чт дек 23, 2010 23:13:23
kip96
aleksandr-zh писал(а):а разве из инструкции не ясно?
Не совсем. Разъясните пожалуйста.

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

Добавлено: Чт дек 23, 2010 23:28:46
aleksandr-zh
The type of LCD display used. This can be :
40 * 4,16 * 1, 16 * 2, 16 * 4, 16 * 4, 20 * 2 or 20 * 4 or 16 * 1a or 20*4A.

Default 16 * 2 is assumed.
When you have a 16 * 2 display, you don't have to use this statement.

The 16 * 1a is special. It is used for 2 * 8 displays that have the address of line 2, starting at location &H8.
...

проще говоря, если у вас обычный на 16х2, то ничего не надо указывать
если иное - описывайте

при использовании разных ЖКИ будут отличаться команды, управляющие его работой
попробуйте сделать надпись на 10 символов для разных моделей : 16х2, 16х1 и 8х1
я уверен, что код будет разный - должны быть добавлены команды перехода между областями памяти ЖКИ

у меня есть только 16х2
проверить иное не смогу

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

Добавлено: Пт дек 24, 2010 00:07:59
TRIOD
Секретный кот писал(а):
user2007 писал(а):А кто говорит про переменные в макрокомандах WAIT, WAITUS, WAITMS?
А что собственно мешает про них говорить в случае WAIT и WAITMS? В документации про это ни слова (в отличие от WAITUS), компилятор на их использование не ругается. Тем не менее, по факту действительно они не работают.
Отсюда и непонятки.
Почему не работают? У меня задрека превязана к переменной значение которой меняется в прерывании.

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

Добавлено: Пт дек 24, 2010 00:11:36
kip96
aleksandr-zh писал(а):проще говоря,.....
Всё ясно. Спасибо! :beer: С транслейтом я бы не вкурил. С переводчиком, если не в ту колею пошёл, то сам не свернёшь, будешь тупо биться в стену, если кто-нибудь не поможет.
Похоже и со своей проблемой решил. Завтра в железе проверю.

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

Добавлено: Пт дек 24, 2010 10:05:50
edm2007
TRIOD писал(а):
Секретный кот писал(а): А что собственно мешает про них говорить в случае WAIT и WAITMS? В документации про это ни слова (в отличие от WAITUS), компилятор на их использование не ругается. Тем не менее, по факту действительно они не работают.
Отсюда и непонятки.
Почему не работают? У меня задрека превязана к переменной значение которой меняется в прерывании.
Да в том-то и дело что работают. Проблем с этим небыло вообще никогда. Как уже писал выше, в хелпе только про WAITUS речь идет. Это разработчик на словах говорит что нельзя?

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

Добавлено: Пт дек 24, 2010 13:02:40
user2007
Секретный кот писал(а):
user2007 писал(а):А кто говорит про переменные в макрокомандах WAIT, WAITUS, WAITMS?

А что собственно мешает про них говорить в случае WAIT и WAITMS? В документации про это ни слова (в отличие от WAITUS), компилятор на их использование не ругается. Тем не менее, по факту действительно они не работают.
Отсюда и непонятки.

В принципе, Вы можете задать свой вопрос о том, что компилятор не воспринимает переменные в макрокомандах WAIT(MS) как ошибку,а также другие вопросы, напрямую Марку Альбертсу.Я не знаю таких людей, которым бы он не ответил, особенно жителям из таких экзотических стран, как Россия. Но то, что уже есть в HELP'е(это насчет DEBOUNCE), лучше разбирать на форуме.
Естественно,что вопросы нужно задавать вразумительно по-английски по адресу E-mail: mark@mcselec.com. За счет обратной связи язык постоянно совершенствуется. Если ошибка реально найдена и будет исправлена - это будет Ваш небольшой вклад в BASCOM-AVR.
Можно также задать его на форуме сайта http://www.mcselec.com :)

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

Добавлено: Пт дек 24, 2010 13:23:35
aleksandr-zh
я перевожу документацию на русский
интерфейс уже почти полностью переведен и вылизан, но огрехи в виде непомещающихся надписей еще есть
Марк обещал исправить

только что получил от него письмо: опять проблемы с отображением кириллицы на разных компах... будет решать и эту проблему


если есть конкретные вопросы о Баском - пишите
но конкретно и с примерами. Обязательно используйте самую свежую версию (демо тоже обновляется), и обязательно указывайте тип МК

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

Добавлено: Пт дек 24, 2010 14:10:07
Мурик
aleksandr-zh писал(а):демо тоже обновляется
Текущая версия демки - 1.11.9.8
Я бы не сказал что она часто обновляется.

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

Добавлено: Пт дек 24, 2010 14:24:23
Секретный кот
TRIOD писал(а):Почему не работают?
edm2007 писал(а):Да в том-то и дело что работают.
Сейчас уже точно не вспомню, но точно были с этим глюки. В частности, в одной моей программе выходной сигнал, формировавшийся с использованием задержек WAITMS X, оставался неизменным. А при замене переменной на соответствующие цифры всё менялось. С тех пор стараюсь как-то избегать использования встроенных команд задержки и юзать свою подпрограмму (вдобавок, она намного точнее :) ).

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

Добавлено: Пт дек 24, 2010 14:33:08
kip96
kip96 писал(а):Похоже и со своей проблемой решил. Завтра в железе проверю
Вообщем был мой косяк и недопонимание вопроса. Как привыкли мы пихать всякие библиотеки ($LIB), (берётся готовая шапка и копируется), так и у меня стояла $lib "lcd4.lbx" Вот она и не довала мне работать с 16*1а. Пока вручную не набрал тестовую программу, не дошло.
Вот читаю:
The 16 * 1a is special. It is used for 2 * 8 displays that have the address of line 2, starting at location &H8.
- ведь мой же случай, а оно не получается! Толи лыжи не едут, толи я ... :wink:
Окозалось- лыжи в порядке. :cry: :?
Так-что напрашивается вопрос:
aleksandr-zh, У Вас нельзя-ли русский хелп попросить, за умеренную оплату конечно-же, и оплату попроще (скажем там на телефон денег кинуть).?

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

Добавлено: Пт дек 24, 2010 14:50:14
aleksandr-zh
перевод будет бесплатен, просто я один. а документик-то - огроменный!
да еще бывает не понимание прочитанного - приходится просить Марка объяснить, что именно он хотел сказать той или иной фразой