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

Обсуждаем контроллеры компании Atmel.
user2007
Открыл глаза
Сообщения: 66
Зарегистрирован: Пт дек 10, 2010 18:29:26

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

Сообщение user2007 »

TRIOD писал(а):Спасибо за подсказку. теперь я понимаю что Debounce мне не подходит. Поскольку мне нужен вариант который не будет зависить от задержек в основном цикле програмы. Получается только через таимеры.

Совершенно верно! Марк Альбертс советует использовать в примерах(см.Config Timer0)
Timer0 как системный таймер с безусловным прерыванием программы по факту его переполнения.
Смотрим в словаре: BOUNCE - отскок, дергание; на французский манер DEBOUNCE - антидребезг, время выдержки до установления состояния - вместо него можно использовать WAITMS. :))
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

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

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

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

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

Сообщение 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."
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
user2007
Открыл глаза
Сообщения: 66
Зарегистрирован: Пт дек 10, 2010 18:29:26

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

Сообщение 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.По-моему, это лишнее. Все достаточно стандартно и логично :)





aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

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

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

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

Сообщение kip96 »

A, Mark Alberts, не говорит ни где, что делает строчка Config Lcd = 16 * 1 или Config Lcd = 40 * 4 :sleep: ?
Все делают ошибки, только мудрецы - новые, а дураки - старые.
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

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

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

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

Сообщение kip96 »

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

При разных Config Lcd , HEX файл у меня получался одинаковый. Получается нет разницы!
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

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

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

user2007 писал(а):А кто говорит про переменные в макрокомандах WAIT, WAITUS, WAITMS?

А что собственно мешает про них говорить в случае WAIT и WAITMS? В документации про это ни слова (в отличие от WAITUS), компилятор на их использование не ругается. Тем не менее, по факту действительно они не работают.
Отсюда и непонятки.
Даже остановленные часы два раза в сутки показывают правильное время.
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение kip96 »

aleksandr-zh писал(а):а разве из инструкции не ясно?

Не совсем. Разъясните пожалуйста.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

Сообщение 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
проверить иное не смогу
Аватара пользователя
TRIOD
Вымогатель припоя
Сообщения: 693
Зарегистрирован: Вт сен 15, 2009 16:23:06
Откуда: Москва

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

Сообщение TRIOD »

Секретный кот писал(а):
user2007 писал(а):А кто говорит про переменные в макрокомандах WAIT, WAITUS, WAITMS?

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

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

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

Сообщение kip96 »

aleksandr-zh писал(а):проще говоря,.....

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

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

Сообщение edm2007 »

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

Почему не работают? У меня задрека превязана к переменной значение которой меняется в прерывании.


Да в том-то и дело что работают. Проблем с этим небыло вообще никогда. Как уже писал выше, в хелпе только про WAITUS речь идет. Это разработчик на словах говорит что нельзя?
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
user2007
Открыл глаза
Сообщения: 66
Зарегистрирован: Пт дек 10, 2010 18:29:26

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

Сообщение user2007 »

Секретный кот писал(а):
user2007 писал(а):А кто говорит про переменные в макрокомандах WAIT, WAITUS, WAITMS?

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

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

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

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

я перевожу документацию на русский
интерфейс уже почти полностью переведен и вылизан, но огрехи в виде непомещающихся надписей еще есть
Марк обещал исправить

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


если есть конкретные вопросы о Баском - пишите
но конкретно и с примерами. Обязательно используйте самую свежую версию (демо тоже обновляется), и обязательно указывайте тип МК
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

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

aleksandr-zh писал(а):демо тоже обновляется
Текущая версия демки - 1.11.9.8
Я бы не сказал что она часто обновляется.
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

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

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

TRIOD писал(а):Почему не работают?

edm2007 писал(а):Да в том-то и дело что работают.

Сейчас уже точно не вспомню, но точно были с этим глюки. В частности, в одной моей программе выходной сигнал, формировавшийся с использованием задержек WAITMS X, оставался неизменным. А при замене переменной на соответствующие цифры всё менялось. С тех пор стараюсь как-то избегать использования встроенных команд задержки и юзать свою подпрограмму (вдобавок, она намного точнее :) ).
Даже остановленные часы два раза в сутки показывают правильное время.
Аватара пользователя
kip96
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

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

Сообщение 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, У Вас нельзя-ли русский хелп попросить, за умеренную оплату конечно-же, и оплату попроще (скажем там на телефон денег кинуть).?
Все делают ошибки, только мудрецы - новые, а дураки - старые.
aleksandr-zh
Сверлит текстолит когтями
Сообщения: 1278
Зарегистрирован: Пн июн 18, 2007 21:51:20

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

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

перевод будет бесплатен, просто я один. а документик-то - огроменный!
да еще бывает не понимание прочитанного - приходится просить Марка объяснить, что именно он хотел сказать той или иной фразой
Ответить

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