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

Обсуждаем контроллеры компании Atmel.
Ответить
Открыл глаза
Сообщения: 60
Зарегистрирован: Сб янв 10, 2015 12:05:52

Сообщение sathv »

Добрый вечер. Я в этой теме обосновался . . . Не могу разобраться с графическим дисплеем Nokia3310. Скачал с сайта "Паяльник " Урок 18, с графическим дисплеем https://cxem.net/mc/mc201.php. Скачал файлы, добавил в Протеус модель. В конце-концов в Протеусе 7 и 8 пример из Паяльника заработал. А в BASCOM 2086 при компиляции файла из примера появляется ошибка. Нашел аналогичные проекты- тоже самое, ошибка. Может файлы из проекта *init, *end надо еще куда-то копировать? В общем, с директивой $includ у меня большие проблемы. Пособий я не нахожу в нашем сегменте. А Help Bascom понимаю. Когда будучи школьником берешь учебник по высшей математике, то удивляешься,- почему каждая формула в отдельности понятна, а в целом глухо. И вообще непонятно, почему Hex в Протеусе работает, а в Баскоме ошибка. Помогите, пожалуйста, мне это необходимо.
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 113
Зарегистрирован: Вс май 12, 2024 12:41:38
Откуда: Подмосковье

Сообщение Александр Д. »

выложите в архиве код и библиотеки- проверю.
Верните прошлое! там было такое прекрасное будущее...
Реклама
Открыл глаза
Сообщения: 60
Зарегистрирован: Сб янв 10, 2015 12:05:52

Сообщение sathv »

Доброе утро. Отправляю архив исходника. По просьбе Баскома добавляю туда файл *err. После компиляции появляется сообщение об ошибке. Error:369 Line 344 . . . var R1 in file 3310.end bas Там и правда есть строка 344 и переменная R1. Но она не повторяется. Пробовал ее тупо убирать, ничего хорошего.
Думаю, чего-то я не знаю, может настройки Баскома . . .
Архив исодника не отправляется. Разберусь и снова обращусь, извините.
Родился
Аватара пользователя
Сообщения: 9
Зарегистрирован: Ср июн 09, 2021 14:00:24
Откуда: Дальневосточник

Сообщение Kontantin »

на другом сайте есть такой же вопрос http://avrproject.ru/publ/modul_display ... 0/1-1-0-39
попробуйте в более ранних версиях Баскома, у меня 2,05 ошибок не выдаёт.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Сообщения: 60
Зарегистрирован: Сб янв 10, 2015 12:05:52

Сообщение sathv »

Так и есть! Версия 2.05 ошибок не дает! Я и не собираюсь углубляться в основы основ. На сегодняшний день надо всего-то переписать порты под свою отладочную плату. Большое Вам спасибо.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2052
Зарегистрирован: Вт ноя 03, 2009 21:02:38
Откуда: Москва

Сообщение Microtech »

Там в одном из файлов, масса операторов Data. Можно попробовать заменить метку r1, на что то другое, например на rr1. Компилятор путает метку с именем регистра.
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4651
Зарегистрирован: Ср сен 30, 2020 16:51:47
Откуда: РФ

Сообщение electroget »

[uquote="sathv",url="/forum/viewtopic.php?p=4785006#p4785006"]надо всего-то переписать порты под свою отладочную плату. Большое Вам спасибо.[/uquote]

А какая у вас отладочная плата?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2052
Зарегистрирован: Вт ноя 03, 2009 21:02:38
Откуда: Москва

Сообщение Microtech »

Проверил. Действительно компилируется с ошибками. Баском 2.0.8.3. Исправил в двух местах r1 на rr1, а также убрал в конфиге SPI Din = none. Компилируется без ошибок, но проверить нечем, нет таких индикаторов. Проект лохматый какой-то.
Контактная информация:
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 25
Зарегистрирован: Чт авг 27, 2020 13:15:49

Сообщение dibor »

В хелпе написано же, не используйте зарезервированные слова как переменные!
Reserved words include all BASCOM commands, statements, function names, internal registers and operator names.
Открыл глаза
Сообщения: 60
Зарегистрирован: Сб янв 10, 2015 12:05:52

Сообщение sathv »

Здравствуйте. Вот еще хочу спросить- как в BASCOMе делить и умножать не целые числа. Например, 4,75х2.39. У меня это получается только с обьявлением переменных как dword. Хотя word должно бы хватить. Еще, простите, нет ли в BASCOM процедуры вычисления дисперсии из выборки? Я написал, работает, но как-то коряво получается. Буду благодарен за совет.
Встал на лапы
Аватара пользователя
Сообщения: 113
Зарегистрирован: Вс май 12, 2024 12:41:38
Откуда: Подмосковье

Сообщение Александр Д. »

dim ... as single
Верните прошлое! там было такое прекрасное будущее...
Родился
Сообщения: 5
Зарегистрирован: Сб июл 30, 2016 10:29:37

Сообщение tobikru »

Доброго времени всем! Может ест у кого рабочая библиотека, для двухстрочного ЖКИ 16*2 с контролером от хитачи. по линии I2C. У меня есть аж две такие, но почему то они не хотят работать, т. е работают медленно, а если написать какую то программку от DO до LOOP, то в начале вроде пошло на индикаторе ( в протеусе) а потом все чисто на индикаторе. Судя по тому что идет перемигивание кубиков на всех ножках, программа продолжает работать, а на ЖКИ пустое свечение. Ни чего не понятно почему. Текст из двух сточек повторяется, хотя и не быстро, даже с малой задержкой, а если текста больше то нет вообще дальнейших показаний.
Мудрый кот
Сообщения: 1706
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

А что таким шрифтом?Ты требуешь что ли?
Может библиотека не при чем,просто косяк в программе?
Мучитель микросхем
Сообщения: 486
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

На форумах не принято весь текст выделять капсом или жирным текстом.
Во-вторых, несмотря на жирное выделение всего текста, из него ничего не понятно кроме того, что программа делает не то, что ожидалось. Как программа написана, так она и выполняется.
Перед выводом текста установите курсор дисплея на позицию 0,0.
Родился
Сообщения: 5
Зарегистрирован: Сб июл 30, 2016 10:29:37

Сообщение tobikru »

Про шрифт понял. извиняюсь. Может быт и криво написано библиотека. У автора есть только две строчки с выводом текста, в первой линии и второй линии. Все вроде выводится, постоянно с обновлением но как то не шустро . Если я вставляю на вывод свой код, значительно больше чем у автора, то то же выводятся, но только один раз и все чисто на экране я не могу понять в чем причина. Я мог бы прикрепить этот файл,(если это здесь возможно) может кто то бы под сказал ошибку.
Последний раз редактировалось tobikru Сб апр 04, 2026 16:31:31, всего редактировалось 3 раза.
Мучитель микросхем
Сообщения: 486
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

Может быть и библиотека кривая, но чаще всего, кривое её применение. Особенно когда мануал на дисплей не читают.
Мудрый кот
Сообщения: 1706
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

tobikru, подождем,авось появятся в теме телепаты и укажут где у вас в коде ошибка,по другому без исходника никак....
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1482
Зарегистрирован: Вс май 13, 2012 00:01:54

Сообщение Ariadna-on-Line »

Есть такой эффект, что Протеус "захлёбывается". Например вы вставили виртуальный осциллограф - перестало выводиться на дисплей, хотя огоньки на пинах дисплея перемигиваются. Или код сложный и Протеус его не прожёвывает. Например увидеть динамическую индикацию на 7-сегментной матрице - почти безнадёжная задача. Так что извращайтесь, отключайте виртуальный осциллограф, периферию. Я здесь в форуме подобные вопросы задавал пока не допёр в чем засада. Это Раз. Если вы используете в Протеусе I2C контроллер PCF8574 или PCF8574A - помните, что у них адреса фиксированные и разные, и пинами виртуальной модели - не устанавливаются. Это два. В Ардуиновском коде категорически не используйте команды digitalWrite(pin, x) каждая команда жрет 100 байт памяти. Используйте -

PORTB &= ~( 1 << Pin); // LOW для порта B
PORTB |= ( 1 << Pin ); // HIGH для порта B

Не используйте комбинированных команд типа

PORTB &= ~( (1 << R25) | (1 << R75) ); // LOW R25, LOW R75

она жрет больше чем две отдельных

И тд.
Ответить

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