Обсуждаем контроллеры компании Atmel.
Ср июн 18, 2008 09:51:29
Добрый день или вечер!
Решил попробовать BASCOM AVR, столкнуля с одной проблемой.
при чтении датчика температуры ds18b20 при указанном параметре
$crystal = 4000000
прчитанные 9-ть байт не соответствут реальным, каждый байт больше в два раза, а при параметре $crystal = 1000000 или $crystal = 2000000 или $crystal = 3000000 все нормально.
Хотя команда
Reg_no(1) = 1wsearchfirst()
работает нормально при любых параметрах $crystal.
Испльзую BASCOM v1.11.9.0
Вопрос: ктонибудь сталкивался с такой проблемой если да, как с этим бороться?
Всем спасибо.
Ср июл 09, 2008 19:34:18
А какой МК?
Пт июл 11, 2008 11:44:45
Аксель писал(а):А какой МК?
МК разные
Atmega8,16,8515 At90S8515, 2313.
с параметром
$crystal = 3686400 еще все работает, а вот
с $crystal = 4000000 уже проблемы.
Ср июл 16, 2008 11:04:30
Здравствуйте, многоуважаемые!
Объясните кто-нибудь мне, чайнику, почему у меня в BASCOMе (1.11.9.0) неправильно отрабатываются временные задержки?
МК мега8, настроен на работу от внутреннего тактового 1МГц, $crystal = 1000000, а Waitms 1000 делает паузу в 2 раза меньше. Пробовал и Wait и Waitms.
Это глюк или я что-то неправильно делаю?
Ср июл 16, 2008 11:47:27
Параметр $crystal = 1000000
Не выставляет частоту кристала, а только сообщает компилятору, чтобы он расчитывал время задержки при компиляции.
А сама частота работы МК выставляется фьюзами.
Ср июл 16, 2008 14:27:48
Фьюзы и стоят на 1 МГц. Если несоответствие фьюзов и $crystal, тогда не опознается термометр DS18B20.
Причем, если поставить и там и там 4МГц погрешность меняется.
Программатор ChipBoom.
Ср июл 16, 2008 16:56:01
В смысле "погрешность"?
За программатор я не скажу (для експеримента его лучше отключать). Как вероятная причина (не только к баскому относится): перегрузка порта(ов)/пина(ов). ...Если девайсина "отжирает" от МК больше чем положено (по даташиту ориентируемся), то МК может и работать(до поры, до времени), но при этом глючить.
Может, это, схему (как оно сейчас подключено) в студию (и код в приложении)?
И тогда кто-нибудь прокоментирует...
Ср июл 16, 2008 17:52:02
Схему рисовать не буду, все на макетке, я совсем чайник, осваиваю МК.
На PC2-5, PB0-1 висит дисплей16*2,
PD1 - DS18B20
PD2,3 - 2 кнопки,
PC0 - вх. АЦП,
PB6,7 -кварц 32768
все.
В тексте программы Waitms 1800 дает задержку около 900 мс (считал по показаниям таймера)
- Вложения
-
- radiokot.txt
- (904 байт) Скачиваний: 874
Чт июл 17, 2008 08:07:15
А зачем Waitms 1800? Время преобразования DS18b20 - 750ms. делал на них градусники и на 2313 и на 8 меге все работает.
Чт июл 17, 2008 15:58:33
Всем спасибо, это у меня был глюк, все работает.
Ср июл 23, 2008 00:51:27
Моя обучалка BASCOM AVR.
http://www.decada.org.ru/project/lessons/bascom_avr/Почти доделана, осталось несколько статей
Последний раз редактировалось
WildCat Пн фев 15, 2010 02:57:10, всего редактировалось 1 раз.
Ср июл 23, 2008 13:39:24
Даеш продолжение!!!
Ср июл 23, 2008 17:39:53
Или у меня мания величия, или я действительно неплохо делаю обучалку
А подробнее никто ничо не скажет? Если есть какие-то ошибки/опечатки, говорите тут, в аське или на мыло.
Пн июл 28, 2008 14:06:46
Спасибо, замечательная обучалка.
Тыркался, как слепой котенок в этот BASCOM AVR.
Многое стало понятным.
Жду продолжения.
Еще раз спасибо.
Вт июл 29, 2008 08:24:07
ХОРОШО!!!
А ссылку то хоть можно выложить на форуме Васика?
А то жутко страшно насчёт рельсы
Вт июл 29, 2008 13:20:57
А почему то дальше 10-й страницы не открывается
Вт июл 29, 2008 16:54:24
ссылку на форум басика выкладывай и да не будет тебе рельсы в описанном месте. Можно даже и статьи перекладывать, но тут с согласованием со мной.
После 10 ничо не откроется, потому что еще не сделано) точнее 11 статью уже перевел про I2С, делаю 12 и т.д., но пока еще не выложил. Ввиду важности статей и хороших отзывов работу продолжаю)
Вт июл 29, 2008 17:10:56
Спасибо, жду с нетерпением
Вт сен 09, 2008 20:43:51
Здравствуйте! Столкнулся с несколькими проблемами - самому не разобраться. Пишу:
Ddrd = &B11100011'Входы/выходы
Portd = &B00011100'Подтяжка резисторами
Rigel Alias = Portd.5
Rigel = &H01
После этого система ругается ЕРОР № 31,35,105,124
Вроде всё в соответствии с хелпом но чегото делаю нетак.
И существует ли вообще в языке нечто похожее на БИТ-процессор, чтобы можно было с отдельными ПИНами работать не заморачиваясь "считка+маска=запись", или в языке это не реализовано (может глюк какой?). Версия языка 1.11.9.0.
Ср сен 10, 2008 22:16:40
А можно более распространенный фрагмент кода со всеми объявлениями и алиасами?
На битовом уровне работать - я так понял, нужны регистры пинов? Считывается pinx.y, запись portx.y, вроде так. Только направление работы ввод-вывод указать нужно.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.