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

bullit

Свой
  • Постов

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

  • Посещение

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


  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); } Один фиг перестаёт принимать байты через некоторое время Приём данных: кидаю в буфер, кидаю сообщение задаче, та выдёргивает из буфера, парсит, отвечает. Другая задача от программы мк получает пакеты на передачу и также вызывает выше указанный код. Кто нибудь сталкивался с таким что затыкается прием данных от хоста?
  15. Столкнулся с такой же проблемой только для процессора STM32L052K8. Выпаял из платы все элементы кроме мк и кондёров. Взял пример STOP MODE with RTC из куба на серию L0 FW версии 1.5.0 Потребление при RUN 11 мА, Stop mode 6 мА. Потребление не зависит от в отладке или нет.
  16. Всем здравствуйте! Использую пример STOP MODE от stm32l053 discovery. Но у меня потребление прыгает от 6 до 11 мА, ни о каких мкА и речи нет. Все ноги в аналоги без подтяжки. Что в отладке, что без. Пробуждение от RTC (LSI). Кто нибудь сталкивался с таким? Можете выложить код?!
  17. Всем здравствуйте! Меня зовут Александр, и я предлагаю следующие услуги: 1. Разработка электрических схем и трассировки печатных плат в САПР Altium; 2. Разработка ПО под микроконтроллеры stm32; 3. Разработка десктопных приложений под windows и linux; Если у Вас есть интересные задачи, пишите на sashaufa3 гав gmail.com
  18. Всем большое спасибо! Больше всего понравился TPS63060, предложенный Plain. А главное цена и наличие в магазинах в которых мы берем - радуют. Это для 3.3 В. Остается только вопрос, что делать с 5 В выходом. Городить еще один? не выгодно, ради 5 мА. Есть мк, может PWM + ADC ?
  19. К сожалению преобразователей с напряжением до 5,5 В гораздо больше чем на большее напряжение. Есть неплохие преобразователи у LT: LTC35_34, но цена и доставабельность не гуд.
  20. Добрый день, форумчане! Есть устройство, в котором схема питается от 5 и 3,3 вольт с потреблением 5 и 180 мА, соответственно. Потребление по 3,3 вольта может меняться (не импульсно) от 100 до 180 мА. Диапазон напряжений: для 5 В +/- 0,25В; для 3,3 В +/- 0,033 В. Питание прибора от 4 батареек (НЕ аккумуляторы) размера С по 1,5 вольта, предположительно алкалиновые. По информации из сети, напряжение на батареях (в зависимости от химии) падает до уровня 0,8 В. Т.о. нужен преобразователь понижающего и повышающего типа, а так как питание батарейное хотелось бы и КПД иметь высокое. Например, есть преобразователь TPS6102x. Если напряжение на входе выше чем нужно на выходе, он работает как обычный LDO (пункт 10.3.3), если ниже то кпд аж до 95 %. Подскажите на какие преобразователи необходимо обратить внимание. p.s. изоляция не нужна, фильтрация нужна (ацп 16 бит)
  21. Спасибо, Похоже только так и можно найти инфу.
  22. Есть индикаторы на плате, с некоторой схемотехникой. Есть дисплеи только с описанием габаритов и распиновки разъёма. А потребление и т.д.и т.п.? Не считаю что одного листа достаточно для выбора...
  23. Нет. Видел более объёмный даташит.
×
×
  • Создать...