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

Обсуждаем контроллеры компании Atmel.
Ответить
Электрический кот
Аватара пользователя
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Мяу всем котам!
Возвращаюсь а предыдущему своему вопросу про LCD 8x2 (WH0802A). Короче все перепробовал - нихрена не выходит!!! :oops: Индикатор не инициализируется. В верхней строке просто горят все знакоместа черным и все. Яркость можно убавить/прибавить, но на МК никакой реакции. В протеусе все работает, реально - ЖО..А! Уж чего я только не делал, как ни извращался, даже с бубном танцевал, в итоге все та же ЖО..А! Пробовал подключать библиотеки от разных типов индикаторов, менял тактовую частоту (потому что думал, что великовата), вносил/убирал задержки, отключал Watchdog Timer, пробовал даже с прескалером извращаться, команду Initlcd даже применял, ну, короче, дальше вы и сами знаете... :shock:
Попробую сейчас подцепить другой индикатор (человеческий - 16х2), если при той же прошивке МК заработает, то уж и не знаю, что делать дальше. LCD дохлый не может быть - куплен в магазине 3 дня назад - новьё! Короче, у кого какие мысли появятся, пишите сюда - буду признателен, да и всем остальным пригодится опыт, дабы не наступать на мои грабли. :)
P.S. Чуть не забыл, еще один нюанс... Программа писалась в Баском 2.0.5.0. Целевой МК ATtiny2313A, а программировалась при помощи встроенного программатора CodeVisionAVR 2.04.4a (почему-то Баскомовская оболочка не корректно работает с AVR910 от Prottoss), в котором такого МК не значится, но по сигнатуре определяется как ATtiny2313, собственно как оный и программируется(шьётся). Может засада и в этом, хотя сильно сомневаюсь...
Цапу крутить надо!!! Ку или не ку?
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

Проект Proteus с кодом будьте добры.
Программа писалась в Баском 2.0.5.0
Она писалась с нуля? Сталкивался с проблемой, когда открывал проект из старой версии 1.11.9.8 в 2.0.5.0. Стоило его перекомпилировать (без ошибок и проблем), как код просто переставал работать. Не стал разбираться в чем дело...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Реклама
Электрический кот
Аватара пользователя
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

"С нуля" программа писалась в Баском 1.11.9.8. С него же и компилировалась первая и вторая версии. Они же и прошивались. Было это позавчера. Ничего так и не работало. Поэтому было решено использовать более "свежую" версию Баском, в надежде исправить положение. Но результат - тот же.
Цапу крутить надо!!! Ку или не ку?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

Там можно все же код посмотреть? И схему подключения тоже.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Электрический кот
Аватара пользователя
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Отчего же нельзя? Завсегда пожалуйста! :)
Только одно замечание по файлам:
схема немного не соответствует прошивке в плане подключения LCD. В последней прошивке был изменен порядок PinLCD, ну там по программе все видно.
Вложения
V5.rar
(16.21 КБ) 284 скачивания
EBERLE.rar
(15.2 КБ) 243 скачивания
Цапу крутить надо!!! Ку или не ку?
Реклама
Электрический кот
Аватара пользователя
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Подключил LCD 16x2 (тот же Winstar) - не работает. Засвечены все знакоместа в обоих строках. Дело похоже в МК, не справляется, что-ли? Надо другой попробовать...
Цапу крутить надо!!! Ку или не ку?
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

Угу, в Proteus работает (правда в коде иное подключение было прописано). Кварц-то именно такой, как в коде указан? Да и вообще, лучше сначала добиться нормальной работы на встроеном генераторе и с простым выводом, а потом уже сам код ковырять. А то там и делитель зачем-то прописан, и кварц опять же...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Электрический кот
Аватара пользователя
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

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

Сообщение edm2007 »

Собака точно где-то рядом порылась. Тем более и 16*2 не заводится. Фьюзы проверяли? Точно внешний кварц включен?
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Электрический кот
Аватара пользователя
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Михаил, вот вы меня прям совсем обидеть хотите... Конечно все в норме, перепроверял 50 раз! :))
Цапу крутить надо!!! Ку или не ку?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

Igor_67 писал(а):Михаил, вот вы меня прям совсем обидеть хотите...
Вот заняться-то мне нечем же. :) Всякое бывает. Просто странно все это, всегда считал (и по собственному опыту в том числе) что LCD подключить проще простого. Что-то тут не так...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Электрический кот
Аватара пользователя
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Вот что обнаружилось:При симуляции в Протеусе, в логе пишет: "Controller received command whilst busy" в модуле LCD1. Но как ошибка не обозначается - горит зеленый (!). Может дело как раз в этом? И что сие означает?
Цапу крутить надо!!! Ку или не ку?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

У меня такое в логах не пишет. :dont_know:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Электрический кот
Аватара пользователя
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Переписал программу для МК AT90S4433. Честно говоря, не в восторге! В Протеусе стало ваще всякую лажу показывать. На LCD вместо положенных 20 градусов в первой строке, то 255, то 1, то 2, хотя там отображается переменная, считанная из EEPROM и измененная (если необходимо) в обработчиках прерываний INT0 и INT1. Даже если отключить запись/чтение EEPROM и сделать эту переменную тупо константой, все равно чё-попало выходит! Можно сказать, что почти константа (ну , утрированно, конечно). В нижней строке, где отображается реальная температура (полученная с DS18B20), тоже ерунда. Вместо положенных 22 градуса, кажет то 15, то 1, то 2. У меня уже МОСК КИПИТ! Ничего не понимаю. В первый раз такая хрень. Всегда все заводилось с полоборота, а тут "на тебе!"Может у меня с протеусом что-то случилось? Или установка новой версии Баскома как-то повлияла?
Цапу крутить надо!!! Ку или не ку?
Родился
Сообщения: 2
Зарегистрирован: Вс окт 23, 2011 11:49:43

Сообщение crc_labs »

Добрый день, уважаемые коты. Подскажите такой момент: при выполнении данного кода в протеусе на LCD выводится значение 0.00009 вместо 0.0001

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

Dim Tmp as Single

Tmp=1 * 0.0001

Locate 1 , 1
Lcd Tmp
В какую сторону копать?
Электрический кот
Аватара пользователя
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Ограничьте переменную Tmp типа Single четырьмя знаками после запятой, инче происходит округление.
Config Single = Scientific , Digits = 4
Цапу крутить надо!!! Ку или не ку?
Родился
Сообщения: 2
Зарегистрирован: Вс окт 23, 2011 11:49:43

Сообщение crc_labs »

Спасибо. Вы мне очень помогли.
Электрический кот
Аватара пользователя
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Имеется два вопроса. Первый: как правильно организовать ШИМ для изменения яркости семисегментника? Второй: Выручите с алгоритмом быстрого опроса 4-х - 5-и кнопок без использования прерываний INT0 и INT1.
Цапу крутить надо!!! Ку или не ку?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск

Сообщение edm2007 »

Можно так Семисегментные светодиодные индикаторы. Часть 4. Регулируем яркость. Там правда в примере я все до кучи накидал, и точки и мигание. А так в прерывании по переполнению будет как обычно индикация, а по совпадению - гашение.
Выручите с алгоритмом быстрого опроса 4-х - 5-и кнопок без использования прерываний INT0 и INT1.
МК-то какой?
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Электрический кот
Аватара пользователя
Сообщения: 1051
Зарегистрирован: Вт окт 21, 2008 11:46:23
Откуда: Барнаул

Сообщение Igor_67 »

Atmega48 или Atmega8(8515,8535)
Цапу крутить надо!!! Ку или не ку?
Ответить

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