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

quark

Свой
  • Постов

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

  • Посещение

  • Победитель дней

    6

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


  1. Хочется помочь Вам понять, как там все работает в МК, но тратить кучу времени нет желания. Как Вы думаете, почему? Наверное, вот по этому:
  2. Этот вопрос нужно задать Вам, как стороннику этой концепции. Если и это, тоже, включено, то конечный итог будет еще хуже....
  3. Концепция не учитывает существование иерархии ресурсов памяти в вычислительной системе. И разную стоимость этих ресурсов. Мнимый выигрыш получается за счет использования более дорогих ресурсов и экономии более дешевых. Это - принципиальная системая ошибка концепции Форт. Которая ставит крест на его практическом применении.
  4. Никак. Время вынесло им свой приговор... Форт не выдерживает конкуренции, именно, из-за свой концепции. В массовом применении - "рулит" экономическая целесообразность. Этим все сказано.
  5. Оперативная память - это всегда дорого, по сравнению с программной. В гарвардской архитектуре, которой придерживаются большинство МК, это аксиома. Поэтому, там зачастую нет стека данных - только аппаратный стек вызовов и возвратов. И оперативной памяти часто нет, как таковой. Есть только набор регисторов. В основном, специализированных - внутренних регистров процессора и регистров внешних устройств. И лишь небольшая часть - регистры общего назначения. Это концепция МК. Концепция Форт там, что называется, "не пришей к звезде рукав".
  6. По моему, на МК вариантов для Форта нет. То, что программы на этом языке выглядят непривычно - это, на самом деле, не является основной проблемой. Ко всему можно привыкнуть, при желании. Было бы ради чего... Современные МК строятся, в основном, по гарвардской архитектуре: память программ - отдельно, память данных - отдельно. Программа хранится в относительно дешевой ПЗУ (а если ПЗУ однократно записываемая - то совсем дешевой), и ее может быть много. Текущие данные хранятся в ОЗУ, которая значительно дороже. И ее в МК немного. Она может даже отсутствовать совсем. Еще есть регистровая (сверхоперативная) память процессора, которая еще дороже и ее совсем мало. А аппаратный стек может быть всего с десяток уровней... Концепция Форт предлагает нам экономию памяти программ - компактный код. Основной упор сделан на стек, как механизм передачи параметров. Стек должен располагаться в ОЗУ и иметь достаточный размер. Это дорого. И медленно, поскольку постоянное обращение к стеку каждой команды, резко снижает быстродействие, по сравнению с использованием регистровых команд. Если же, для ускорения работы, разработать специальный МК - стек разместить в регистровой памяти и сделать достаточно объемным, то такой МК станет слишком дорогим. Форт предлагает нам экономить дешевую программную память и расходовать дорогое ОЗУ. И все это - в ущерб быстродействию. С концепцией МК это ни как не вяжется. Экономической целесообразности в этом нет.
  7. Поздравляю! Вы поставили работоспособность вашей системы - в зависимость от недокументированной "особенности" нестандартного драйвера производителя... P.S. Цитата из известного фильма: " - Кеша! За такие вещи, убивать надо! - Лелик!... Только не по лицу!... "
  8. Понятно. Порт A3 - только для чтения. В этом его отличие от других.
  9. В общем, если хотите чтобы вам помогли разобраться, нужно выложить установленную конфигурацию полностью и кусок программы перехода в Sleep целиком, где устанавливаются все рабочие регисторы.
  10. А подтягивающие резисторы внешние или внутренние используете? Попробуете внешнюю подтяжку поставить на A3.
  11. Почитайте в даташите раздел "I/O Ports". Там есть правильная последовательность действий. Нужна еще операция чтения регистра обязательно, на сколько я помню, перед сбросом флагов прерываний.
  12. Скорее всего, в конфигурации не установили режим: "RA3 input pin enabled".
  13. Именно так. Это первоначальная реакция. Я просто опустил подробности истории... ))) Угу. Главное - визг правильно выбрать: https://www.youtube.com/watch?v=-rJFKyQmXSA
  14. Вот это точно, особено если будет эффект внезапности По-моему, это городская легенда) ... Возможно... Только, таких историй - много... ))) Девочка собирает в лесу малину. Медленно идет вокруг большого малинника. С другой стороны малинника - малину собирает медведь. Оба увлеклись сбором ягод, друг друга не видят, но медленно движутся навстречу. И вдруг, в какой-то момент, внезапно сталкиваются "нос к носу". Девочка, от испуга, издает дичайший визг, от которого медведь тут же падает замертво, с разрывом сердца... Эффект внезапности.
  15. Вы у человека, внезапно "вломившегося" в вашу квартиру, будете спрашивать "цель проникновения"? Типа: "Вы, просто, пришли посмотреть? Или решили всех "грохнуть" и забрать, что можно унести?" P.S. Модераторы, по-моему, этой теме - пора в offtopic.
  16. Главная ошибка, которую совершают разработчики таких систем - смешивают в кучу две принципиально разные задачи: 1) Контроль объекта или обозначенного периметра, с последующей выдачей сигнала в систему наблюдения о факте нарушения; 2) Последующие действия системы (фиксирующие, отпугивающие, силовые и т.д) для обеспечения сохранности объекта; Это две, принципально разные задачи. И решаются они, принципиально по разному - технически, информационно, организационно и юридически.
  17. Когда-то давно мне рассказывали случай. Один товарищ решил поставить в свою квартиру "отпугивающую сигнализацию" от воров. В качестве "отпугивающего устройства", он выбрал, завалявшийся у него по случаю, корабельный "ревун"... Когда злоумышленник проник в квартиру - "ревун" сработал, и несостоявшийся воришка, от внезапного испуга, рухнул на пол с инфарктом миокарда. И больше уже не встал... А владелец квартиры - попал под суд. Вот так вот.
  18. Подобные темы, в частности - эта, рождаются, когда не следуют этим советам. Это вам, факт на лицо.
  19. Собственный конвертор, для таких задач, во-первых, не требует специального моста USB-COM или специального драйвера к нему. Все работает по стандартным каналам, без каких-либо дополнительных настроек и других "костылей". Тем не менее, он позволяет, при необходимости, эмулировать любой специальный режим работы канала. Во-вторых, если в ПО оконечного устройства обнаружатся какие-то "особенности" (по сути, ошибки), как в приведенном выше случае, то их легко можно обойти, модифицируя программу конвертора. Не факт, что это удастся сделать путем настройки нестандартного моста USB-COM или его нестандартного драйвера. Поэтому, даже добившись работоспособности вашего нестандартного оборудования, возможно, все равно, придете к необходимости конвертора. Так что, лучше сразу начать с него. В-третьих, если делать конвертор, то стоит сразу реализовать полноценный конвертор протоколов. Выбрать для обмена с ПК какой-то более удобоваримый протокол - тот же MODBUS, например. Это позволит не тащить в компьютер "кривые" 9-битные протоколы. Либо другие, зачастую, "самопальные" протоколы внешних устройств, с заранее неизвестными "особенностями".
  20. Да, примерно так... Есть различные варианты реализации, в зависимости от используемого протокола. Вплоть, до режима, который используется в "кривом мосту" USB-COM, предложенном ТС... Все реализуется специальными конверторами, через стандартные преобразователи USB-COM... В частности, когда-то, для решения подобной проблемы, мне пришлось лишь заменить стандартную прошивку в повторителе RS485-RS485 на специализированную... Но, ТС у нас легких путей не ищет. И продолжает трахаться с WinAPI и нестандартными драйверами. Флаг ему в руки...
  21. "Забить" на эту тему, пока она не станет актуальной - самое правильное решение...
  22. "Попробуйте 'включить мозг' - вдруг повезет?" - это более актуальный совет для ТС. Он уже третий месяц бъется над неразрешимой проблемой - как установить бит в регистре... https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=170876#comment-1854724
  23. На Марсе Земли нет. По последним данным, вся планета покрыта толстым-толстым слоем шоколада.
×
×
  • Создать...