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

bullit

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    пуля
    Знающий
  • День рождения 22.09.1983

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Retained

  • Звание
    Array

Посетители профиля

4 395 просмотров профиля
  1. К сожалению, я так и не разобрался как правильно сконфигурировать, писать и читать в eeprom. Вопрос, как и что записать в память, и как сосчитать и расшифровать.
  2. Всем, Здравствуйте! Подскажите пожалуйста как правильно сконфигурировать и рабоатать с atsha204a под следующую задачу: 1. Необходимо сохранить свои данные в памяти (на производстве). 2. Сосчитать данные с микросхемы (в поле). Естественно коммуникация должна быть такая, что б злоумышленик не смог получить данные прослушав шину (SWI). Всё это с помощью библиотеки от Microchip. Сколько я примеров не просмотрел, ни где не видел в конечном итоге чтоб получали "чистые" данные. Везде сравнение!
  3. Спасибо! За основу брал вот этот проект. Вот мой дескриптор: Generic USB-EEM Network Adapter.html
  4. День добрый! Пробую реализовать CDC EEM. Дескрипторы в порядке! Устройство в вин10 опознается как Generic USB EEM Network Adapter, но не стартует. Под линухой и вин7 с кастомными драйверами нормально всё! У кого какие успехи? У кого нибудь есть запись обмена данными по USB wireshark? Буду признателен за любую информацию!
  5. Если актуально еще)) hex какой командой делаете? Должно быть вот так: objcopy -Oihex $(TARGET).elf $(TARGET).hex
  6. Всем Здравствуйте! Помогите разобраться с Beremiz + CANopen в режиме Debug. Хочу чтоб Beremiz выступал в качестве мастера и "опрашивал" через SDO слейв. С проектом Beremiz слейв (проект canopen _slave) - всё хорошо: через кан шину опросить беремиз через сдо получается. Интересно как сделать, чтоб беремиз через sdo запрашивал данные у слейва?)) Заранее спасибо. С подключением проблем нет: Linux + slcan.
  7. Если еще актуально: https://en.wikipedia.org/wiki/CAN_bus#Error_frame Не знаю где как, но в stm32 аппаратный кан выдаёт следующие ошибки: #define HAL_CAN_ERROR_NONE ((uint32_t)0x00) /*!< No error */ #define HAL_CAN_ERROR_EWG ((uint32_t)0x01) /*!< EWG error */ #define HAL_CAN_ERROR_EPV ((uint32_t)0x02) /*!< EPV error */ #define HAL_CAN_ERROR_BOF ((uint32_t)0x04) /*!< BOF error */ #define HAL_CAN_ERROR_STF ((uint32_t)0x08) /*!< Stuff error */ #define HAL_CAN_ERROR_FOR ((uint32_t)0x10) /*!< Form error */ #define HAL_CAN_ERROR_ACK ((uint32_t)0x20) /*!< Acknowledgment error */ #define HAL_CAN_ERROR_BR ((uint32_t)0x40) /*!< Bit recessive */ #define HAL_CAN_ERROR_BD ((uint32_t)0x80) /*!< LEC dominant */ #define HAL_CAN_ERROR_CRC ((uint32_t)0x100) /*!< LEC transfer error */ TEC и REC считаются апапратно. На эти ошибки реагировать можно по разному: например наличие ошибки Acknowledgment error - говорит о том, что либо не настроены тайминги (скорость), либо никого нет на шине. Ну и т.д. Надеюсь помог!
  8. Наверное трабла в неподключенных либах. может поможет: Pre-requisites # Ubuntu/Debian : sudo apt-get install build-essential bison flex autoconf sudo apt-get install python-wxgtk2.8 pyro mercurial sudo apt-get install python-numpy python-nevow python-matplotlib Хотя не факт! Попробуйте PyCharm.
  9. Может я чего не знаю или не понимаю. Вы хотите на STMке питоновские скрипты использовать?
  10. Не удобно когда переменных много! Обновлять всё, чтоб использовать часть! накладно получается! Пока рабочим вариантом используем переписанные макросы в заголовочных файлах iec_inc.
  11. Функции __publish и __retrive - используются для режима debug. Но можно переписать и под себя конечно! /* * Retrieve input variables, run PLC and publish output variables **/ void __run(void) { __tick++; if (greatest_tick_count__) __tick %= greatest_tick_count__; /*__retrieve_debug();*/ config_run__(__tick); __publish_debug(); } Остаётся вопрос откуда взять список переменных, которые юзает код ПЛК, это раз! И у меня возникает вопрос, а как генерится код ПЛК: не получится ли что код зациклится на ожидании какого нибудь флага, а он соответственно обновится только в следующем цикле! Может быть такой вариант событий?1 А функция CTNGenerate_C() всего лишь запускает iec2c
  12. Всем Здрасте! Сразу описание проблемы: в генерируемых исходниках (Си), для доступа (чтение/запись) к объектам Словаря CANOpen в Беремизе используются указатели на переменные. Проблема заключается в том, что доступ к объектам словаря хорошо было бы сделать через функции CANFestival: set/get ODentry(...), так как они вызывают колбэк (если он есть) записи в словарь. Кто нибудь решал эту проблему? Была попытка поправить макросы, в accessor.h )) обломался. Заранее Огромное спасибо!
  13. Решение нашлось, и было не в USB. Тему можно закрывать! Всем спасибо!
  14. Здравствуйте, Уважаемые форумчане! На STM32F105 реализовываю VCP (CDC) HAL (версия 1.1.0) с помощью CubeMX + FreeRTOS. При "частом" запросе (22 байта в 10 мс) вешается приём данных от хоста. Паралельно из двух задач вызывается result = CDC_Transmit_FS(buf, len); Защитил мьютексами, защитил запретом прерывания: osStatus status = osMutexWait(MutexUSBSend_id, timeout); if (status == osOK) { do { //cnt_send++; // wait N millisek __disable_irq(); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, GPIO_PIN_SET); result = CDC_Transmit_FS(buf, len); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, GPIO_PIN_RESET); __enable_irq(); osDelay(1); } while( result != USBD_OK /*|| cnt_send < 3*/); osMutexRelease(MutexUSBSend_id); } Один фиг перестаёт принимать байты через некоторое время Приём данных: кидаю в буфер, кидаю сообщение задаче, та выдёргивает из буфера, парсит, отвечает. Другая задача от программы мк получает пакеты на передачу и также вызывает выше указанный код. Кто нибудь сталкивался с таким что затыкается прием данных от хоста?
×
×
  • Создать...