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

paskal

Свой
  • Постов

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

  • Посещение

Репутация

1 Обычный

Информация о paskal

  • Звание
    Местный
    Местный
  • День рождения 31.12.1969

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  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?
×
×
  • Создать...