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

VladimirYU

Свой
  • Постов

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

  • Посещение

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


  1. portC mega162

    Как уходя гасите свет, так и не забывайте сбрасывать JTAGEN.
  2. А почему хочется именно пограммное прерывание, почему нелзя обычный вызов обработчика.
  3. Реализуемый, но жостаточно рискованный способ, можно задеть, например, глобальные переменные или static. Данный подход это первый шаг к откату на asm. Искать выход нужно в организации программы в целом.
  4. Все дело IMHO в разных способах организации стека. В ИАР он рганизован программно без использования регистра указателя стека, поэтому там St/Ld, а у вас фактически аппаратно с использованием регистра указателя стека, такова реализация компилятора. Боюсь, что никак эту особенность вам не обойти.
  5. может быть static поможет? или через heap. Сначала new потом обязательно delete.
  6. Вы попробуйте воспльзоваться родным симулятором IAR или Студией, я думаю у вас будут те же самые ворнинги. ИМХО JTAG здесь не причем. Выбросите или "зашунтируйте" куски программы которые явно зависят от "железа", и вперед по шагам, как рекомендовал Сергей Борщ.
  7. Подобные предупреждения у меня встречались когда пытался создать статический локальный объект, для которого по мнению компилятора не хватало места в стеке. На железе тем не менее все работало. Переместив его в кучу (heap), сделав динамическим, предупреждения ушли. Мджет у вас нечто подобное.
  8. Посмотрел, в версии 5.10 эту прелесть убрали.
  9. Ok! Это видимо IARовцы так с 1 апреля поздравляют
  10. long_long.zip Прикрепляю простой тестовый примерчик.
  11. Пробовал, не помогает, да это и не принципиально ИМХО. А выделенную фразу поясните, если нетрудно. Версия 4.12 для AVR.
  12. Глюк IAR или мой

    В IAR AVR 4.12 столкнулся вот с чем: // имею int data = 0xabd6; // хочу увеличить разрядность до 32 без знака unsigned int tmp = (unsigned int) data; // получаю tmp = 0x0000abd6, что и хотел а теперь вместо 32 захотел увеличить разрядность до 64 без знака из исходного data unsigned long long tmp = (unsigned int) data; // получаю tmp = 0x6dba000000000000 ?????????????
  13. Посмотрите в сторону микросхемы VNC1L, на АСМе конечно нелегко будет. Зато все проблемы с ФАТ уже решены. Имеется набор стандартных прошивок под разные задачи. Сам использую и пока без проблем.
  14. Полностью согласен. При этом, из собственного опыта, не доверяю ни каким BODам, а ставлю внешний супервизор. +20 рублей, но про такие проблемы забываешь раз и навсегда.
  15. Вполне корректно, только ИМХО контроллер полностью загружен только одной указанной задачей.
  16. Демультиплексер

    ИМХО, ничего не нужно. Все решается на уровне протокола обмена, MODBUS например.
  17. В одном из вариантов документации на TWI в AVR прочитал следующее: ..... TWBR должен быть равен не менее 10, если TWI работает в ведущем режиме. Если TWBR меньше 10, то ведущий может генерировать некорректное состояние на линиях SDA и SCL. Проблема возникает при работе в ведущем режиме при передаче условий СТАРТ+ПОДЧИН_АДР+ ЧТЕНИЕ/ЗАПИСЬ подчиненному. ........ Речь идет о выборе одного из параметров определяющего SCL мастера. Не ваш ли это случай?
  18. Если я правильно понял речь идет о команде ECHO? Кроме как получение обратно того, что послал ни какой синхронизации, на мой взгляд, не просматривается. Косвенно можно судить о готовности VNC1L к работе, хотя это можно сделать прочитав сообщение STARTUP. А вообще то загадка, что они хотели.
  19. The entire message frame must be transmitted as a continuous stream. If a silent interval of more than 1.5 character times occurs before completion of the frame, the receiving device flushes the incomplete message and assumes that the next byte will be the address field of a new message. Similarly, if a new message begins earlier than 3.5 character times following a previous message, the receiving device will consider it a continuation of the previous message. This will set an error, as the value in the final CRC field will not be valid for the combined messages.. Выдержка из оригинального описания.
  20. проблема с АЦП

    +1. Для себя после принял за правило: с переменника прямо на вход АЦП сигнал не подавать. На ОУ собрать повторитель да еще и подфильтровать немного.
  21. Можно ввести аппаратное управление потоками сигналы RTC и CTC, тогда проблем с рассинхронизацией вообще не должно быть. Правда потребуются дополнительные аппаратно-программные затраты.
  22. Синхронизация приемника начинается по фронту. When the clock recovery logic detects a high (idle) to low (start) transition on the RxD line, the start bit detection sequence is initiated. выдержка из DS на ATmtga128 стр.186 рис. 83
  23. AT90PWM3

    1. Это еще не все, в rev. A у меня не работает AMP1. 2. Управляете только верхними ключами, а на нижние подаете задание обеспечивающее постоянно открытое состояние ( естественно соблюдая закон коммутации).
  24. +1 Судя по постановке вопроса, Вы с электроприводом далеко не на "короткой ноге", поэтому на собственную разработку потратите немало времени. Рекомендую для вашей задачи посмотреть в в сторону серийных частотников, выбор огромный от достаточно дорогих до дешевых, LG например.
×
×
  • Создать...