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

paskal

Свой
  • Постов

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

  • Посещение

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


  1. Получилось! Записал в VTOR адрес 800_0000 и заработало.
  2. А как вы это делаете? Конечно все это я делаю. Программа же работает нормально при boot0=0. VTOR я для интереса вывел, он равен 0, как и по спецификации. Не вижу что там настраивать, у меня программа в штатном режиме запускается, из флеш.
  3. Для работы BOOT0=0, а для программирования BOOT0=1. То что вы предлагаете, это мне при каждой перезаписи программы надо лезть в схему и переключать BOOT0. А раньше я это делал программно. Командой jump из бутлодера запускал программу во флеши. А с этим глюком я не могу запускать программу без перекоммутации ножек.
  4. Я не дергаю ее в нормальном режиме работы! Я загружаю программу через бутлодер. И для этого надо ее установить в 1. Потом я загруженную программу запускаю командой бутлодера. И она виснет, потому что при работе с бутлодером BOOT0=1. А дергал ее я для исследования из за чего программа виснет. Загрузка из флеш. Флеш я записываю бутлодером и запускаю.
  5. Занимаюсь с квазикитайским армом, AT32F415. Возникла такая проблема. Если подать логическую единицу на ножку BOOT0, то контроллер виснет при вызове прерывания. То есть получается что ножка BOOT0 меняет адрес таблицы прерываний. Можно ли это как то устранить? А то я работаю через бутлодер, мне такой баг сильно мешает. Ранее работал на Миландре, там этой проблемы не было.
  6. Похоже это мне подходит. А какой это режим таймера? Там их 16.
  7. А период следования как точно выдержать? Надо бы чтоб аппаратно период формировался.
  8. Переключение это плохой вариант. Не дай бог случится рассинхронизация, короткие импульсы превратятся в длинные, и всё сгорит (импульсы идут на излучатель который работает только в импульсном режиме). Кроме того импульсы очень короткие, несколько тактов, прерывание не отработает такое короткое время. Нужно чтоб одно прерывание было на весь период, а не на часть.
  9. Проектирую устройство на 128 атмеге, где надо генерировать последовательность импульсов. Импульсы должны быть определенной длительности и с переменным расстоянием между импульсами. По сути надо сгенерировать кодовую посылку. Можно ли это сделать на выходе таймера через режим PWM?. Режим CDC очевидно не подходит. Там можно регулировать длительность выходного импульса, но период фиксирован - 0xFFFF. Режим FastPWM имеет переменный период следования импульсов. Но можно ли с ним регулировать ширину импульса?
  10. Флюс так смываю. Ацетон на халяву есть. Никогда раньше микросхемы от ацетона так не растворялись.
  11. Приобрел на Алиэкспрессе несколько МК атмега88 для опытов. Когда протер один из них ацетоном, ватка окрасилась в черный цвет, а надписи на микросхеме смылись! Есть смысл паять его на плату или сразу выкинуть?
  12. Добрый день! Можно ли поставить в одной системе AvrStudio 4.19 и Atmel Studio 7? Не затрет более новая старую? Не будет ли конфликта с тулчейнами?
  13. А можно подробнее как завершать поток с использованием WaitForMultipleObjects ?
  14. Ну я и посылал через SetEvent. Ничего не произошло. И я поискал информацию - выходит и не должно. Пока поток спит в WaitForSingleObject, сигнальное состояние нельзя установить. Заколдованный круг.
  15. Добрый день! Пишу программу для асинхронного приема в ком порт. Прием в целом идет успешно, но возникает глюк при смене порта. То есть при асинхронном ожидании приема, порт закрывается, открывается другой, создается новый поток. Ну в общем все действия которые были с предыдущим портом. В этот момент и возникает дефект. Эксперименты и отладка показали что проблема возникла от того что поток висит в несигнальном состоянии после вызова WaitForSingleObject. Из за этого поток не завершается, и по цепочке идут другие ошибки. Итак вопрос. Как можно принудительно завершить ожидание по WaitForSingleObject?
  16. Нашелся на сабж даташит на инглише https://github.com/Blinkinlabs/ch554_sdcc/tree/master/documentation
  17. Очень хорошо! Попробуйте, например, через бесплатный хостинг https://ru.files.fm/ Заранее спасибо :)
  18. Нет, не должны. С 7-й версии сильно поменялся синтаксис. Те исходники которые у нас есть, эта версия не компилирует.
  19. Я именно оттуда взял пятый. Шестого там нет.
  20. На работе возникла потребность поднять старый проект, который писали другие люди, давно уволившиеся. Проект 2002 года, в наличии только исходники и прошивка. Написан как удалось выяснить в IAR EW8051, версия предположительно до 7-й. Удалось найти EW8051-552B, но по дате это более старый, нужен шестой. Если у кого завалялся, поделитесь. Сойдет с любыми ограничениями, по коду по времени. Или где искать намекните.
  21. Занимаюсь моделированием устройства которое обменивается с ПК по определенному протоколу. Устройство на МК атмега128, но это в данном случае не важно. Еще есть прикладная программа для ПК которая обменивается с "железным устройством". Чтоб задействовать эту программу в симуляции, создаю виртуальную пару COM портов, у которых приемники и передатчики попарно соединены. В Протеусе вывожу uart на COMPIM, назначаю COMPIM на один виртуальный COM, а другой виртуальный COM открываю в программе. Теперь мой МК и программа виртуально соединены. Но работает это только на один раз запуска симуляции. Если остановить симуляцию и запустить снова, связи не будет. Если выйти из Протеуса и зайти снова - опять заработает на один раз. Что можно сделать?
  22. Ну попробую на 921600, если смогу хитрый кварц найти.
  23. Вообще то я все достаточно описал. Скорость я устанавливаю 3 Мбит/с (почему вы решили что 921600?). Интервал между байтами с которым я экспериментирую, 25 мкс. Все с большим запасом умещается. Тем более что я все это контролирую осциллографом. Ладно, похоже Genadi Zawidowski дело подсказал, буду в этом направлении двигаться.
  24. Семерка. А откуда для виртуального порта ограничение 128k? Ничего такого не слышал.
  25. Клон это или нет, но он работает если чуть снизить скорость. И потом, клоны делали на FT232R, а у меня FT232B на который клонов не замечено.
×
×
  • Создать...