Мелкие вопросы по МК и ПЛИС.
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
- Реклама
Прога просит убедиться, что выбран правильный программный метод, что кабель программирования правильно подключен, что на главной станице выбрана частота SPI, которая составляет ¼ частоты девайса. И что должны быть какие-то дополнительные методы предосторожности при использовании фьюза CKDIV и регистра прескалера.Stalker46 писал(а):что означает вот такое сообщение?...
- Реклама
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
помоему частота тактов на заводе ставится 1МГц (аттини2313)
значит надо выставить 250кГц?
и где это надо высталять?
кабель подлкючен правильно. Программатор прошивает контроллер, если записана программа:
ldi temp, 0b00000001
out portb, temp
или другое значение порта.
А вот если попробовать мигать светодиодами - выскакивает это сообщение.
значит надо выставить 250кГц?
и где это надо высталять?
кабель подлкючен правильно. Программатор прошивает контроллер, если записана программа:
ldi temp, 0b00000001
out portb, temp
или другое значение порта.
А вот если попробовать мигать светодиодами - выскакивает это сообщение.
Не умеешь - не берись, но не взявшись не научишься...
Там написано 'main' page, то есть главная(основная) страница.Stalker46 писал(а): и где это надо высталять?
Программатору абсолютно плевать какую программу он шьёт.Stalker46 писал(а):Программатор прошивает контроллер, если записана программа...
Можно ли uln2003 заменить на ULN2003A в этой схеме http://radiokot.ru/circuit/digital/pcmod/18/
С новым годом
С новым годом
Решил научиться работать с DS1820. Пишу в WinAVR. Подскажите, правильно ли я составил алгоритм?
1. Отправляем RESET
2. Ловим PRESENCE // PRESENCE ловится
3. Отправляем 0xCC //SKIP ROM Датчик у меня один.
4. Отправляем 0x44 //Convert T
5. Ждём 600мС //На всякий случай
6. Принимаем первый байт с данными о температуре.
7. Принимаем второй байт с данными о температуре.
В последних двух пунктах начинаются проблемы. Первый принятый байт всегда равен 254, а второй 255.
Всё симулирую в протеусе.
1. Отправляем RESET
2. Ловим PRESENCE // PRESENCE ловится
3. Отправляем 0xCC //SKIP ROM Датчик у меня один.
4. Отправляем 0x44 //Convert T
5. Ждём 600мС //На всякий случай
6. Принимаем первый байт с данными о температуре.
7. Принимаем второй байт с данными о температуре.
В последних двух пунктах начинаются проблемы. Первый принятый байт всегда равен 254, а второй 255.
Всё симулирую в протеусе.
- Сообщения: 491
- Зарегистрирован: Вс янв 07, 2007 01:45:48
- Откуда: Российская Федерация, будь она неладна...
Алгоритм дожен быть такой:
1. Отправляем RESET
2. Ловим PRESENCE
3. Отправляем 0xCC //SKIP ROM
4. Отправляем 0x44 //Convert T
5. Включаем жёсткую подтяжку на линии
6. Ждём 600мС //Не на всякий случай, а минимально для завершения преобразования
7. Отправляем RESET
8. Отправляем 0xCC //SKIP ROM
9. Отправляем 0xBE //READ SCRATCHPAD
10. Принимаем первый байт с данными о температуре.
11. Принимаем второй байт с данными о температуре.
И рекомендую читать не первые 2 байта, а все 9, и проверять CRC.
1. Отправляем RESET
2. Ловим PRESENCE
3. Отправляем 0xCC //SKIP ROM
4. Отправляем 0x44 //Convert T
5. Включаем жёсткую подтяжку на линии
6. Ждём 600мС //Не на всякий случай, а минимально для завершения преобразования
7. Отправляем RESET
8. Отправляем 0xCC //SKIP ROM
9. Отправляем 0xBE //READ SCRATCHPAD
10. Принимаем первый байт с данными о температуре.
11. Принимаем второй байт с данными о температуре.
И рекомендую читать не первые 2 байта, а все 9, и проверять CRC.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Pooher, спасибо
Насчёт того, что я 0xCC и 0xBE пропустил - дошло. А вот про ресет совсем забыл.
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
Скажите пожалуйста, допустим, мы отправили байт по уарту, как нам на компьютере распознать, что нам пришло? и как на это отреагировать?
например, я хочу, подсоединить Atmega8 LCD к компьютеру по уарту.
Допустим, я сгенерировал старт бит, за ним идет посылка байта, допустим в копм. пришла посылка 01100111 - и по программе, я должен нажать на клавиатуре "Stalker". И как отправить с компа в мк эти данные?
ух, наверное пурги нагородил...
например, я хочу, подсоединить Atmega8 LCD к компьютеру по уарту.
Допустим, я сгенерировал старт бит, за ним идет посылка байта, допустим в копм. пришла посылка 01100111 - и по программе, я должен нажать на клавиатуре "Stalker". И как отправить с компа в мк эти данные?
ух, наверное пурги нагородил...
Не умеешь - не берись, но не взявшись не научишься...
это для паразитного питания, что ли?Pooher писал(а):5. Включаем жёсткую подтяжку на линии
а почему 600? если 12-битное преобразование, то минимум 750, а лучше (на всякий случай) поболее, 800 напримерPooher писал(а):6. Ждём 600мС //Не на всякий случай, а минимально для завершения преобразования
а я бы не рекомендовал, а настаивал так делать!!!Pooher писал(а):И рекомендую читать не первые 2 байта, а все 9, и проверять CRC.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 221
- Зарегистрирован: Сб апр 25, 2009 14:29:05
Использую программатор Громова, прошиваю МК(AtMega8) программой UniProf. Программатор подключается к демоплате, на ней есть джампер, который подключает Reset через резистор к питанию, на время прошивки МК я этот джампер, конечно же, снимаю. Так вот, юнипроф не определяет МК если не нажата кнопка, которая подтягивает Reset к земле, и определяет МК, если кнопка нажата. Так же обнаружил, что МК стартует даже если снят этот самый джампер. Я думал, что на демоплате замкнулись две дорожки, идущие от питания и от ножки микроконтроллера Reset, но прозвонил мультиметром - в режиме 2мОм показывает обрыв! В чем же может быть проблема? Может стоит просто соединить Reset с землей через резистор в несколько кОм? До этого пользовался другой самопальной демоплатой, там Reset был подключен точно так же. Все работало замечательно.
- Сообщения: 3
- Зарегистрирован: Ср янв 06, 2010 10:28:50
Доброго всем времени суток.
Хочу сразу извинится за свой глупый вопрос, но всетаки, форумы для такого и нужны
Теоретические знания из института остались, а вот практики у меня малова то было. И захотелось мне соорудить один девайс, а именно светодиодную матрицу 16х16, которой будет управлять микроконтроллер. Питатся это чудо, по идее, должно от аккумуляторов, информацию для отображения брать из встроеной памяти, а заливать ее туда с компьтера.
Отсюда сразу вопрос, и не один.
- Подскажите литературу по программированию микроконтроллеров, которую следовало бы почитать для начала.
- Возможно кто-то сможет предложить какой-то конкретный микроконтроллер (с несуществующими, но такими желанными характеристиками как дешевизна, низкое энергопотребление и достаточная функциональность).
- Может кто встречал какие-то похожие схемы? Я в интернете парочку видел, но какие-то они совсем не такие как хотелось бы.
Знаю что хочу многого, возможно слишком многого, но ответьте хоть на первый вопрос, а дельше буду разбиратся и учится.
Всем спасибо за внимание.
Хочу сразу извинится за свой глупый вопрос, но всетаки, форумы для такого и нужны
Отсюда сразу вопрос, и не один.
- Подскажите литературу по программированию микроконтроллеров, которую следовало бы почитать для начала.
- Возможно кто-то сможет предложить какой-то конкретный микроконтроллер (с несуществующими, но такими желанными характеристиками как дешевизна, низкое энергопотребление и достаточная функциональность).
- Может кто встречал какие-то похожие схемы? Я в интернете парочку видел, но какие-то они совсем не такие как хотелось бы.
Знаю что хочу многого, возможно слишком многого, но ответьте хоть на первый вопрос, а дельше буду разбиратся и учится.
Всем спасибо за внимание.
- Сообщения: 221
- Зарегистрирован: Сб апр 25, 2009 14:29:05
Получается, что ножка Reset сама себя обеспечивает логической единицей, из нее вытекает ток?_noise писал(а):Резистор к питанию удерживает на ноге более гарантированную логическую единицу, чем если бы нога просто болталась в воздухе.
А программатор по каким-то причинам не может в нужный момент прижать ресет к земле?_noise писал(а):Программатор (либо ещё что-нибудь) в нужный момент притягивает ресет вместе с резистором к земле. На ноге логический ноль, через резистор ток по закону.
А эту фразу я сколько не перечитывал так и не понял, что имелось в виду..._noise писал(а):Простор для креатива самодеятельности в данном направлении представляется перспективным как минимум.
Reset поддтянут к "+" внутренним резистором 60 кОмSavelek писал(а):Получается, что ножка Reset сама себя обеспечивает логической единицей, из нее вытекает ток?_noise писал(а):Резистор к питанию удерживает на ноге более гарантированную логическую единицу, чем если бы нога просто болталась в воздухе.
А в datasheet сказано: "Input High Voltage RESET pin 0.9 VCC (2)" "“Min” means the lowest value where the pin is guaranteed to be read as high"
Перевожу (с учетом комментария): при указанном напряжении будет гарантированно прочитана 1!
А в программаторе на ногу ресет при 1 на DTR COM порте поступает 0,5 от напряжения COM порта и варируется от компа к компу (по стандарту от +3 до +13), и что прочитает МК 0 или 1 только ему и известно..
Должен.Savelek писал(а):А программатор по каким-то причинам не может в нужный момент прижать ресет к земле?_noise писал(а):Программатор (либо ещё что-нибудь) в нужный момент притягивает ресет вместе с резистором к земле. На ноге логический ноль, через резистор ток по закону.
- Сообщения: 221
- Зарегистрирован: Сб апр 25, 2009 14:29:05
Странно, что не прижимает. Приходится на время прошивки кнопку ресета зажиматьmd5sum писал(а):Должен.Savelek писал(а): А программатор по каким-то причинам не может в нужный момент прижать ресет к земле?
Спасибо за развернутый ответ. Пойду я дучше datasheet читать
Добавлено:
Проблема решилась. Ресет был подключен так:
Убрал конденсатор. Все работает. А в прошлый раз работало наверное потому что конденсатор дохлый попался, на новую демоплату я поставил другой конденсатор.
Не подскажу, поскольку сколько-нибудь современные книги не читал: всё ж стаж с конца 1980-х, опыт есть, посему читать приходится только фирменные справочные руководства. Если Вы более-менее разбираетесь в программировании и в достаточной мере владеете техническим английским, то, возможно, Вам никакая иная литература и не требуется.Aust писал(а):Отсюда сразу вопрос, и не один.
- Подскажите литературу по программированию микроконтроллеров, которую следовало бы почитать для начала.
Любая 8-разрядная ATmega. Годятся и PICи, но лично мне АТмеги больше нравятся. Вообще я бы посоветовал взять готовую отладочную плату, на которой смонтированы как минимум сам контроллер, кварц и разъёмы, на которые выведены ноги контроллера (в продвинутых платах есть ещё всякие там кнопочки-светодиодики, USB и т.п.): это упрощает вникание в тему, поскольку позволяет начать разбираться без особой пайки, а значит, лишнего риска что-нибудь спалить, а потом долго гадать, что же именно не работает. Стоимость таких плат находится в пределах примерно от 500 до 10000 рублей. Вот, например, одна из простейших моделей: http://www.terraelectronica.ru/catalog_ ... _19_2_26_1- Возможно кто-то сможет предложить какой-то конкретный микроконтроллер (с несуществующими, но такими желанными характеристиками как дешевизна, низкое энергопотребление и достаточная функциональность).
Если поискать, то найти наверняка можно, но, опять-таки, не ищу, поскольку проще самому соорудить.[/url]- Может кто встречал какие-то похожие схемы? Я в интернете парочку видел, но какие-то они совсем не такие как хотелось бы.


