Показано с 1 по 10 из 1349

Тема: Hardella IDE

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Еще один интересный вопрос. Достаточно однажды вызвать SteppersConfig_Pru*MemoryTransfer() чтобы произошел обмен ?
    Нет, не достаточно. Технически, при обмене могут быть проблемы (возможно, при запуске PRU есть задержка между подачей команды на включение и тем, как PRU начинает выполнять пользовательскую программу).

    Из-за этого, MemoryTransfer внутри выполняет до 100 попыток. Я ни разу не видел, чтобы первых нескольких оказывалось бы недостаточно.

  2. #2

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Нет, не достаточно. Технически, при обмене могут быть проблемы (возможно, при запуске PRU есть задержка между подачей команды на включение и тем, как PRU начинает выполнять пользовательскую программу).

    Из-за этого, MemoryTransfer внутри выполняет до 100 попыток. Я ни разу не видел, чтобы первых нескольких оказывалось бы недостаточно.
    MemoryTransfer надо вызывать 100 раз ? Это какое же время может занять обмен ?

    Какой ужас, это удар под дых.

    Как узнать, что обмен произошел ?
    Последний раз редактировалось Newcomer; 21.01.2017 в 16:06.

  3. #3

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    MemoryTransfer надо вызывать 100 раз ? Это какое же время может занять обмен ?
    Во-первых, 100 попыток делается при каждом вызове MemoryTransfer.

    Во-вторых, как правило, срабатывает с первой попытки.

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Как узнать, что обмен произошел ?
    У MemoryTransfer есть счётчики количества ошибок записи и чтения. В очередной версии добавлю просто флаги "была ли ошибка при последнем вызове".

  4. #4

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Во-первых, 100 попыток делается при каждом вызове MemoryTransfer.

    Во-вторых, как правило, срабатывает с первой попытки.


    У MemoryTransfer есть счётчики количества ошибок записи и чтения. В очередной версии добавлю просто флаги "была ли ошибка при последнем вызове".
    И все таки. Что может случиться если MemoryTransfer вызвать только один раз ? Межпроцессорный обмен может не состояться ?
    Последний раз редактировалось Newcomer; 22.01.2017 в 11:28.

  5. #5

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    И все таки. Что может случиться если MemoryTransfer вызвать только один раз ? Межпроцессорный обмен может не состояться ?
    Теоретически, может. Вероятность такого события не знаю.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •