Jump to content

    

bullit

Свой
  • Content Count

    676
  • Joined

  • Last visited

Community Reputation

0 Обычный

About bullit

  • Rank
    пуля
  • Birthday 09/22/1983

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Уфа

Recent Profile Visitors

3768 profile views
  1. Адаптер USB to Ethernet

    Спасибо! За основу брал вот этот проект. Вот мой дескриптор: Generic USB-EEM Network Adapter.html
  2. Адаптер USB to Ethernet

    День добрый! Пробую реализовать CDC EEM. Дескрипторы в порядке! Устройство в вин10 опознается как Generic USB EEM Network Adapter, но не стартует. Под линухой и вин7 с кастомными драйверами нормально всё! У кого какие успехи? У кого нибудь есть запись обмена данными по USB wireshark? Буду признателен за любую информацию!
  3. Сбор elf-файла

    Если актуально еще)) hex какой командой делаете? Должно быть вот так: Кодobjcopy -Oihex $(TARGET).elf $(TARGET).hex
  4. Beremiz

    Вопрос снят!
  5. Beremiz

    Всем Здравствуйте! Помогите разобраться с Beremiz + CANopen в режиме Debug. Хочу чтоб Beremiz выступал в качестве мастера и "опрашивал" через SDO слейв. С проектом Beremiz слейв (проект canopen _slave) - всё хорошо: через кан шину опросить беремиз через сдо получается. Интересно как сделать, чтоб беремиз через sdo запрашивал данные у слейва?)) Заранее спасибо. С подключением проблем нет: Linux + slcan.
  6. Если еще актуально: 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 - говорит о том, что либо не настроены тайминги (скорость), либо никого нет на шине. Ну и т.д. Надеюсь помог!
  7. Beremiz

    Наверное трабла в неподключенных либах. может поможет: 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.
  8. Beremiz

    Может я чего не знаю или не понимаю. Вы хотите на STMке питоновские скрипты использовать?
  9. Beremiz

    Не удобно когда переменных много! Обновлять всё, чтоб использовать часть! накладно получается! Пока рабочим вариантом используем переписанные макросы в заголовочных файлах iec_inc.
  10. Beremiz

    Функции __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
  11. Beremiz

    Всем Здрасте! Сразу описание проблемы: в генерируемых исходниках (Си), для доступа (чтение/запись) к объектам Словаря CANOpen в Беремизе используются указатели на переменные. Проблема заключается в том, что доступ к объектам словаря хорошо было бы сделать через функции CANFestival: set/get ODentry(...), так как они вызывают колбэк (если он есть) записи в словарь. Кто нибудь решал эту проблему? Была попытка поправить макросы, в accessor.h )) обломался. Заранее Огромное спасибо!
  12. Решение нашлось, и было не в USB. Тему можно закрывать! Всем спасибо!
  13. Здравствуйте, Уважаемые форумчане! На 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);     } Один фиг перестаёт принимать байты через некоторое время Приём данных: кидаю в буфер, кидаю сообщение задаче, та выдёргивает из буфера, парсит, отвечает. Другая задача от программы мк получает пакеты на передачу и также вызывает выше указанный код. Кто нибудь сталкивался с таким что затыкается прием данных от хоста?
  14. Столкнулся с такой же проблемой только для процессора STM32L052K8. Выпаял из платы все элементы кроме мк и кондёров. Взял пример STOP MODE with RTC из куба на серию L0 FW версии 1.5.0 Потребление при RUN 11 мА, Stop mode 6 мА. Потребление не зависит от в отладке или нет.
  15. Не используемые порты STM32L..

    Всем здравствуйте! Использую пример STOP MODE от stm32l053 discovery. Но у меня потребление прыгает от 6 до 11 мА, ни о каких мкА и речи нет. Все ноги в аналоги без подтяжки. Что в отладке, что без. Пробуждение от RTC (LSI). Кто нибудь сталкивался с таким? Можете выложить код?!