Перейти к содержанию

dim3740

Members
  • Постов

    473
  • Зарегистрирован

  • Посещение

Весь контент dim3740

  1. По ЮСБ/com порту (плата Ардуино) отправляю значения АЦП на комп. В качестве терминала использую среду Ардуино. Значения читаются в формате типа "0123", что хорошо, но как только втыкаю шнур ЮСБ, Винда "обнаруживает" новое устройство "Микрософт BollPoint трекбол для посл. порта" и мышка (как PC/2 так и ЮСБ) перестает работать(( . Устройство реально появляется в диспетчере устройств в разделе "Мыши". Код выполняется в цикле.... прерывание сделаю потом. Код загружается по ISP. Загрузчик стерт. char B1; ADCSRA|=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); ADMUX =0xC2; _delay_us(500); ADCSRA|=(1<<ADSC); //Начать преобразование до 1024 while ((ADCSRA & 0x10)==0); voltage=ADCW; if (voltage<1000) { v=voltage; // буфер i=voltage/1000;//1 voltage=voltage-i*1000; while ( !( UCSR0A & (1 << UDRE0)) ); UDR0= 0x30+i; i=voltage/100;//2 voltage=voltage-i*100; while ( !( UCSR0A & (1 << UDRE0)) ); UDR0= 0x30+i; i=voltage/10;//3 voltage=voltage-i*10; while ( !( UCSR0A & (1 << UDRE0)) ); UDR0= 0x30+i; i=voltage/1;//4 voltage=voltage-i*1; while ( !( UCSR0A & (1 << UDRE0)) ); UDR0= 0x30+i; while ( !( UCSR0A & (1 << UDRE0)) ); UDR0='\n'; //новая строка }
  2. Спасибо:)) Я недопонимал, что есть опорное напряжение, как эталон, и измеряемое. Оба нужны, если меряется напряжение от внешнего источника. Для режима "кнопок", когда меряем по сути "сопротивления", напряжение на входе от внутреннего резистора, думал, и есть "опорное". На другом форуме подсказали... Ну, нет опыта с АЦП пока(((
  3. да нет... я почитал, но в основном применяют внешние опорные источники. Если кто применяет внутренние подтяжки, как у меня, то не поясняют как это может сочетаться с режимом "опорных 2,54 вольта". Просто пишут, что этот режим "не дает точность". Ну так, его бы вообще и не делал разработчик тогда:))) А мне как раз нужно найти компромисс между точностью и усложнением схемы.
  4. Для сабжа точность не столь важна, т.к. есть программный диапазон значений АЦП. Но, есть разброс резисторов, температура, напруга, кол-во кнопок (нужно 5-7) и т.п. Короче, все таки надо немного повысить точность, не усложняя схему дроселями и т.п. У меня верхнее плечо УЖЕ сформировано поддтягивающим внутренним резистором. Тогда что такое режим от "внутреннего 2,54 вольта"? Эли подтяжку не делать? Потом у меня железо Ардуино Нано - и я не вижу там входа AVCC вообще. Есть AREF. Он поможет? 16 мгц. Делитель на 128, дает 125 Кгц.
  5. Решил (подсказали)! Да опять известный был косяк - частоту опроса контроллера в АВР Студио нужно ставить 1/4 от.... Т.е. раз проц был чистый , то в нем 1 Мгц. А я по привычке от частоты внешнего кварца 8 мгц делил на 4((((
  6. Если используется внешний программатор, то питание для некоторых плат (скажем так, которые я сам делаю) может браться от него. Пытаю весь день платы((( Эталонная - все работает, но прошита ранее. Новая - чистый чип - не "видится". Трассировка одинаковая. Беру осцил, пытаюсь сравнить диаграммы. Не получается, потому что в эталонной плате порты ISP прошитым кодом инициализированы в 1. Поэтому сложно сравнить....(((( SCK при операции "чтение сигнатуры" в эталонной плате не наблюдаю вообще! Но проц читается.
  7. Прошу помощи - как выявить почему МК не видится программатором... Опять бьюсь сутки напролет(((( Что делаю: а) Чипы на панельке, проверяю "доктором", там все ОК, если говорить о фьюзах. б) Программатор видит аналогичный чип на другой плате. в) Чипы Атмага16А, 3 шт. г) Протравил новую плату: только панелька и 4 проводка, питание нет, кварца внешнего пока не ставлю. Все порты в воздухе. Не видит.
  8. Спасибо. Проверьте меня: нахожусь в AS, подменю... э.-э... "прошивка". Прошиваю и читаю успешно МК на плате. Не выходя из софта, переключаю кабель программатора на чистый кристалл МК, но такой же. Нажимаю "чтение девайса". Он должен прочитаться, потому что, фьюзы я его еще НЕ прошивал, но по умолчанию, он запустится = прочитается от внутренного генератора. А то, что чуть ниже в меню прошивки у меня в проекте стоят настройки фьюзов от ПРЕЖНЕГО мк - это не важно пока. Так?
  9. Программатор подключен по ISP к МК с обвязкой (внешний кварц и т.п.). Прошит. Питание на плату с МК НЕ подано. Тем не менее, из AVR Studio "Device Information" - "Read" успешно. Получается, что для чтения сигнатуры чипа этого достаточно? Всегда ли? Чистый голый новый МК у меня таким же образом не читается почему-то..... Хотя подключены все те же 6 проводков. Я вспомнил... соответствие фьюзов все же нужно. Т.е. если кварца нет, а фьюзы на внешний настроены, то даже сигнатура не прочитается. Правда непонятно, как читается чип без напряжения. Наверное, сигнатура где-то просто сохранено в проекте Авр студии. А реального чтения нет.
  10. Да, спасибо, такой в магАзине нет ничего(((( Все равное удивлен, что 14 конт логики список на нескольких листах, а 8 конт - совсем мало простой логики. Зато есть ОУ, память, преобразователи, регистры и прочая лабуда... Придется заказать на Ебее(((
  11. Ваши удочки для для моего интеллекта))) Хорошо. "Подскажите, название логики в любом корпусе, но не более 8 выводов. И, ИЛИ, НЕ и т.п". Другого не надо.
  12. Подскажите название/серию (желательно тригеров шмитта) в данном корпусе (более нет места на плате). Или с открытыми коллектором, или просто буферный.. 5 вольт, ТТЛ, КМОП. Желательно несколько вариантов, что поискать по магазину в городе.
  13. Спасибо. Я просто поменял плату... Но так и не понял причину.... Думаю, что загубил старую заливкой загрузчика. Но при этом, заметьте, простые скетчи прекрасно и там работали. И мощности БП хватало всегда. Загрузчик и в новую плату буду заливать периодически, и может проблема снова появится. Тогда отпишусь... подумаем)))) Загрузчик приходится стирать, потому что основной код шью через ISP из AVR Studio 6. А расширение для Arduino Visual Micro в нее поставить не получается. У кого есть опыт инсталляции - помогите, плз...
  14. Есть тут спецы по Ардуино? :)) Объясните, пожалуйста, как побороть проблему? Везде пишут, что "при подаче питания запускается загрузчик, который ждет заливки, и если ее нет, то передает управление скетчу". Логично? Да. Но ... какого питания? а) от внешнего БП б) ЮСБ, но скажем, от ПоверХаба в) ЮСБ, но от компа. В третье случае, винда осуществляет подключение COM порта, что сразу видно в диспетчере. У меня загрузчик стартует не во всех случаях... Вот нашел вроде аналогичный случай: "При заливке бутлоадера методом из части 1, столкнулся с интересной штукой,......... В версии 1.0.3 появилось 2 HEX файла ATmegaBOOT.hex и ATmegaBOOT-prod-firmware-2009-11-07.hex. При заливке первого, скетчи грузятся, однако не стартуют, при загрузке второго все работает правильно. Странно, ..... однако это всего лишь догадка. http://zelectro.cc/bootloaderUSBasp Но я пробую разные загрузчики, и ведь простые скетчи нормально запускаются.
  15. В этой связи еще: на самой платке есть кнопка- написано Ресет.... по идее, при нажатии должно перезагружаться скетч.... А у меня ничего не происходит. Гугл пишет, что такое у многих и дескать это норма. Я не понимаю... Тоже опыта нет с ардуиной - ... первый проект и уже дня три ступор(((( конденсатор попробую на ресет с резистором.. Итак, если сделать цепочку RC на ресет, то: а) зеленый светоид при вкл. ЮСБ НЕ мигает (мигал 7 раз без цепочки и присотанавливал работу скетча, запитанного от второго БП) б) скетч устойчиво запускается от одного и любого источника (тестил раз 10-12...)..
  16. Согласен. Но в среде AS 6.1 для 328 чипа нет... Для 8, 162, 44 и т.п я всегда так ставлю))) Вот еще наблюдения: Соединение с КОМ портом конечно делает винда, а не ИДЕ. Причем, на МОМЕНТ соединения (5 сек) работа скетча прерывается. Т.е. запустили от 2- источников, выдернули ЮСБ, работает... воткнули.... индикатор погас... через 5 сек мигнания все снова заработало. Это норма?
  17. нету хоть тресни(((( И буковку 328P, и просто 328 - нет. И это считано с НОВОГО. Я выложил видео косяка ...https://youtu.be/gjAV3Ze8-Cc видно, что запуск только при подкючении ЮСБ.... сейчас попробую ЮСБ БЕЗ Иде.
  18. нашел новую Нано, подключил, считал фюзы кнопкой Read. (Если так можно, что я не уверен...). Они равны тем, что я ставил на первой платке сам.
  19. Я шью отдельные AVR, и понимаю про что вы..... Но в AtmelStudio 6.1 для ATMEGA 328 16 мгц я не вижу ни HIGH, ни 16 МHZ.... только EXT LO, FS, XO. Конечно внутр ген не смотрим даже. Попробую погуглю на тему хитрого обозначения частоты... Можно как то через иные ИДЕ, там через коды, но геморойно((( Вы думаете от этого возможно? Мигалка/пример блинк работает исправно на 1 гц ведь...
  20. Нано, 328 16 Мгц. Питаю плату от МиниЮСБ, а также имею внешний БП 5 в, подключенного к Vin, конт 30. Простые скетчи типа Блинк запускаются уверенно от любого источника, а иные, (думаю, что требующие подключения сложных библиотек) - не всегда... В чем разница запуска от разных источников? Заметил, что если втыкаю ЮСБ, то светодиод на плате зеленый мигает несколько раз (читал, что это установление соединения по COM), и потом скетч чаще всего запускается. Если только от внешнего БП - то светодиод не мигает, и скетч НЕ запускается, требуется передергивание еще и ЮСБ. Потом ЮСБ можно выдернуть и все работает от БП. Вход Reset подключен через 11 ком на питание. Правда, загрузчик перешивал программтором по hex. При этом фьюзы такие: 05. DA. FF, а вот частота такая: EXTX0SC_8 МГЦ-...16ск-14-65мс .... Ибо на 16 МГЦ нет строчки. И стоит 65 мс - может эта важно для стабильного запуска?
  21. Как же мне это раскрутить:(((? Давайте еще раз, если можно... Я думал так: при подключении ЮСБ девайса программа делает к ему некий запрос, считывает и понимает что это за устройство: мышка (HID), МИДИ, аудио и т.п. Далее можно (но не нужно) написать универсальный код, который в зависимости от типа вызывает соответстсвующую программу. Вы говорите, что если юзер знает, что в этом составном уст-ве есть МИДИ, то сразу обращаться с ним как с МИДИ. Что я имею: если у меня девайс определяется в Винде только как МИДИ - то мой юзб хост работает с ним без проблем. Если как составное (но тоже имеет МИДИ), то совсем не работает. И причина, не в том, что просто надо "сделать МИДИ- как по умолчанию, а не Аудио", а в том, что типовая библиотека не может "пробиться" к МИДИ. Так?
  22. Вроде это не то.... Но спасибо. Вот звуковая юсб карта опоеделяется виндой как аудиоустройство, миди, и даже геймпорт, допустим... Да, ставится 3 драйвера. Но юсб один. Есть библа, которая обеспечивает обмен и рпспознает карту как аудиоустройство. Чем это определяется? Допустим, нужно как миди.
  23. Физическое устройство, конечно, одно. Но у него же через один разъем ЮСБ можно увидеть несколько портов что-ли... Я пока мало понимаю тут(((( Думаю, надо разбираться что такое дискриптор, но главное, как модифицировать библиотеку, чтоб обратиться к другому порту... хотя бы в какой части кода это анализируется найти....
  24. Есть USB-HOST Arduino (+ сам МК) (но вопрос в целом), которая успешно "видит" некоторые подключенные устройства и делает обмен. Но если устройство определяется компом как несколько ЮСБ интерфейсов, то как указать хосту по какому работать? Какой участок кода смотреть? В Винде это просто выбор мышкой, а тут как?
  25. Сделал БП на 4-х обмотках транса + 3 линейных стабилизатора, и 1 импульсный. Цифровой фон устранен полностью. Выявил, что также наводился фон от рядом работающей базы радиотелефона. Всем спасибо. Будем теперь знать, как надо делать такие вещи....
×
×
  • Создать...