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

Обсуждаем контроллеры компании Atmel.
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Да давали. Но проблема в том что второй порт куда отсылается старший байт (8бит) мне нужен не полностью. А только 2 пина чтоб считать до 1024. Остальные 6 пинов необходимы для других целей. Но они уже не переключаются и я не понимаю почему. Видимо то что записано в порт , ждет комманды на + или - и по этому не может быть изменено. Но это так, предположения не более. Вот пока не могу понять как заставить работать отдельно порты эти...
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

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

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

А вы меняйте не весь порт, а только нужные разряды (по маске).
Даже остановленные часы два раза в сутки показывают правильное время.
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

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

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

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

Ну например так (для вывода только 2 младших бит в порт B):

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

x=&b00000010 'Переменная, которую надо вывести
portb = portb AND &b11111100 'Очистка двух младших бит порта B
portb = portb OR x 'Вывод в порт B
Даже остановленные часы два раза в сутки показывают правильное время.
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Спасибо Секретный кот! Буду разбираться! Где бы найти хорошую книгу по баском авр? Вчера читал до поздна переведенный на русский язык хелп для баском авр, отрубился где то в конце... :facepalm:
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Сделал проще))))) Назначил в порту последние 6 пинов входами и перенёс туда кнопки :))) Стало в разы удобнее и всё прекрасно работает + никаких лишних строчек в коде :hunger:
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

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

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

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

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

If pinb <> (внешнее условие) then goto 10 ?

:))
Даже остановленные часы два раза в сутки показывают правильное время.
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

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

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

Сообщение edm2007 »

А чем стандартные Do ... Loop Until или While ... Wend не устраивают?
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Ну почему же не устраивают? Применяю. Но пока не очень понятно как применять Do в подпрограмме. Пробую, учусь, экспериментирую.
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

И снова ведь разобрался! блин меня модераторы за флуд на год забанят :oops:
Все просто

Return - Нужно ставить если вверху в коде подпрограмма. Пока не поставил у меня творилось что попало!

Vol:

Do
If какое либо там условие
If Stp = 1 проверяем порт
If Stp = 1 Then Waitms 100 задержка которую потом надо будет придумать как регулировать
If Stp = 0 Then Return если на порт пришел 0 которого ждали то возвращаемся в основную программу
Loop

Теперь надо придумать как регулировать задержку.
можно ли назначить Waitms например так --

X = 50
Waitms = X ??? :dont_know:
Аватара пользователя
Igor_67
Электрический кот
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

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

Сообщение Igor_67 »

myx писал(а):
Igor_67 писал(а):To myx: То что вы написали - это не код, а какой-то огрызок. Где задание переменных? И где вы тут увидели сохранение в EEPROM??? Выкладывайте полный код, тогда и поглядим. Я таких терморегуляторов кучу уже наделал, так что, чем смогу - помогу.

Полный проект с исходником в архиве. Заранее спасибо.

С таким датчиком не работал, но сходу сразу видно, что переменная Х1 задана типа байт, она же и отображается на LCD. Можно задать данную переменную типа Integer, а потом разбить на целые и дробные части. А можно взять все переменные типа Single, тогда все гораздо проще посчитается. А сохранение в EEPROM осуществлять частями, предварительно разбив переменную типа Single на целую (Int) и дробную (Frac) части.
Только учтите, что переменные типа Single сильно жрут оперативку и стек МК.
Цапу крутить надо!!! Ку или не ку?
Аватара пользователя
myx
Потрогал лапой паяльник
Сообщения: 371
Зарегистрирован: Чт июл 22, 2010 10:12:09

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

Сообщение myx »

Igor_67 писал(а):С таким датчиком не работал, но сходу сразу видно, что переменная Х1 задана типа байт, она же и отображается на LCD. Можно задать данную переменную типа Integer, а потом разбить на целые и дробные части. А можно взять все переменные типа Single, тогда все гораздо проще посчитается. А сохранение в EEPROM осуществлять частями, предварительно разбив переменную типа Single на целую (Int) и дробную (Frac) части.
Только учтите, что переменные типа Single сильно жрут оперативку и стек МК.

В теории понял, а вот как на практике написать не знаю. Ради добавления возможности регулировать температуру с десятыми долями не хочется бэйсик изучать. Может накидаете кусок программы с изменениями?
Vet-RX
Встал на лапы
Сообщения: 113
Зарегистрирован: Чт июл 30, 2009 14:33:42

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

Сообщение Vet-RX »

Ув. Коты-баскомовцы, тут назрел вопрос по поводу дисплея LS020. Для него есть библиотека LCD-SIEMENS_S65_LS020_256_W1.LBX
Но вот проблема шрифты 8х8 отображает нормально, а 16х16 срезает верхний ряд символа и переносит в низ.
Никто случайно не сталкивался с таким приколом?
TIP
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс июл 03, 2011 06:27:35

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

Сообщение TIP »

Хочу выразить искреннюю благодарность участнику форума под ником mr4ester!
Человек с открытой душой помог мне малость разобраться в написании программ.
Пару примеров, не очень сложная программа и дело пошло.
До сложных программ еще далеко, но мне для работы пока достаточно.
Мужики, чертовски здорово, когда сам пишешь прогу и главное понимаешь что пишешь.
mr4ester , огромное спасибо за помощь!
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

TIP писал(а):Хочу выразить искреннюю благодарность участнику форума , огромное спасибо за помощь!


Так же могу отблагодарить edm2007. Он тоже отличный программист. Я вот не смотря на то что недавно начал программировать , уже делаю сложный проект и знаете получается! Даже не смотря на то что вопросы остаются. Сейчас вот пытаюсь меню сделать, сделать то сделал и работает всё но как в нём константы отображать и менять - пока так и не допёр :)
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Vet-RX писал(а): шрифты 8х8 отображает нормально, а 16х16 срезает верхний ряд символа и переносит в низ.
Никто случайно не сталкивался с таким приколом?


А как же функция Locate ? Там ведь можно выставить местоположение текста на дисплее.
А возможно в библиотеке просто место ограничено под символы на дисплее, это хуже...
Vet-RX
Встал на лапы
Сообщения: 113
Зарегистрирован: Чт июл 30, 2009 14:33:42

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

Сообщение Vet-RX »

там в таком виде: Lcdat 67 , 25 , переменная для вывода , цвет шрифта , цвет фона
67 и 25 координаты начала отображения, пробовал менять, серавно искаженный
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

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

Сообщение осторожно! леоныч!!! »

Значит возможно надо править библиотеку...
Ответить

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