Pull to refresh
2
0
Send message

Я вставлю свои 5 копеек в защиту СДЭКа. Пользуюсь их услугами много лет в разных вариациях. Никогда не было проблем. Все вопросы решались быстро и к удовольствию сторон. Сейчас вынужденно отправляю посылку в РБ ПЭКом, а не обычным СДЭКОм - уже переплевался....А я даже еще коробочку курьеру не отдал. Про всякие ДЛ или, прости господи, ЖДЭ вообще даже вспоминать страшно. Так что, СДЭК, - выздоравливай скорее!!!

Не очень понятно - в чем заслуга запуска www-сервера на 486х. Стеки типа LwIP работают с оперативкой от 20кб и занимают в памяти 30-40кб даже без глубокой оптимизации. У 486х памяти от мегабайта и запустить на них можно полноценный www не прилагая особых усилий.

Не затронуты вопросы:

  1. Проверка целостности образа прошивки;

  2. Проверка версионности прошивки (обновление только в том случае, если версия образа >= версии в памяти МК);

  3. Шифрование прошивки;

  4. Что будет если новая прошивка начала заливаться и не закончила? Новая прошивка должна заливаться в резервную область (внешнюю память), там распаковываться, проверяться и если все норм уже копироваться в рабочую память

КМК без всего этого вопрос как заливать образ второстепенен... Даже если мы работаем по удобному MSD все равно найдется пользователь который скопирует туда что-то не то и получит кирпич.

Ругается, как на «JS/Yandex.Sovetnik.B потенциально нежелательное приложение» во friGate судя по всему… Этому есть разумное объяснение?
С недавнего времени NOD32 ругается на советник:

В данном случае изучение регистров не дало бы полезной информации т.к. в них находятся правильные значения, но для APB1. А что бы разобраться в чем проблема пришлось лезть в Reference Manual и смотреть куда подключен UART9 т.к. не HAL задает источник тактовой для периферии, а архитектура процессора. А до этого еще некоторое время медитировать над внешне работающим UARTом, который почему-то присылал мусор вместо данных. Ах, да, насчет общества на которое все рассчитывают когда ничего не работает. У меня коммит от 27го ноября :) Другими словами, использование HALа не освобождает он необходимости разбираться в регистрах процессора и вдумчиво (а иногда очень вдумчиво) читать Reference Manual. А это на корню убивает все аргументы выше про «написал и заработало», «написал под один процессор, перенес под другой» и т.д.
HAL от CubeMX содержит множество увлекательных ошибок с которыми сталкиваешься постоянно. Из свежего stm32f4xx_hal_uart.c для UART9 не в курсе, что он подключен к APB2 и если вы решились использовать его в своем проекте и у вас разные частоты APB1 и APB2, то вас ждет увлекательнейший квест по поиску причин неработоспособности простейшего UARTа инициализированного восхваляемым вами HALом. И таких примеров — множество, не говоря уже про элементарно раздутый код.

Вот diff что бы не быть голословным:
Index: stm32f4xx_hal_uart.c
===================================================================
--- stm32f4xx_hal_uart.c	(revision 2632)
+++ stm32f4xx_hal_uart.c	(revision 2633)
@@ -2487,7 +2487,7 @@
   {
     /*-------------------------- USART BRR Configuration ---------------------*/
 #if defined(USART6) 
-    if((huart->Instance == USART1) || (huart->Instance == USART6))
+    if((huart->Instance == USART1) || (huart->Instance == USART6) || (huart->Instance == UART9))
     {
       huart->Instance->BRR = UART_BRR_SAMPLING8(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate);
     }
@@ -2506,7 +2506,7 @@
   {
     /*-------------------------- USART BRR Configuration ---------------------*/
 #if defined(USART6) 
-    if((huart->Instance == USART1) || (huart->Instance == USART6))
+    if((huart->Instance == USART1) || (huart->Instance == USART6) || (huart->Instance == UART9))
     {
       huart->Instance->BRR = UART_BRR_SAMPLING16(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate);
     }



На «обычном кремниевом диоде» падает от 0.7 до 1.1в в зависимости от нагрузки. см. например характеристики Vf vs If для SM4007. Ну и так — абстрактно, настоятельно не рекомендую игнорировать требования и рекомендации документации производителя. Полагаю, если бы можно было обойтись диодом при питании от 5в, они бы так и нарисовали.

mt-system.ru/sites/default/files/documents/sim800_hardware_design_v1.09.pdf раздел 4.1
Питать модем нужно только через LDO-стабилизатор, как указано в Integration Manual на SIM800. Помимо номинального напряжения, которое, как верно заметил автор может быть равно 4.3в там указано максимальное падение напряжения питания во время передачи данных. В соответствии с мануалом, оно не может превышать 350мв. В случае питания через диод, падение напряжения будет явно больше. В результате модем в лучшем случае будет выключаться, в худшем — странно глючить. По опыту электролит этом месте помогает слабо. Гораздо надежнее — нормальный стабилизатор — LDO или импульсный.
У DS18B20 минимальное напряжение питания — 3в. Т.е. год оно никак не проработает. Нужно ставить что-то вроде TMP112 в качестве температурного датчика.

Information

Rating
Does not participate
Registered
Activity