Jump to content

    

andrewlekar

Участник
  • Content Count

    836
  • Joined

  • Last visited

Everything posted by andrewlekar


  1. SIM800H фичи

    User Memory нету - это очень плохо. В планах есть внедрение этой фичи или шансов нет? По идее User Memory можно реализовать из EAT. Насколько я понял, для пользовательских данных из EAT доступно около 300К памяти, верно? Какие условия нужны для использования EAT в модуле?
  2. STM32 flash

    ЦитатаИ ради чего ваши жертвы? Ради экономии 20 байт и 10 мс на проверку CRC приложения? Я просто описал, как оно у меня щас сделано и не призываю делать так всех. Удалённого обновления на данный момент нет, поэтому и вышеописанные ужасы вряд ли произойдут. Когда удалённое обновление появится, то я буду проверять контрольную сумму каждого пакета и делать верификацию всей прошивки после заливки. И это будет происходить в отдельной области памяти, а не поверх рабочей прошивки.
  3. STM32 flash

    Я в своём софте тоже проверяю только, что сектор не пустой перед прыжком, однако подход Golikov A. очень даже разумен для критических применений железа. На самом деле, повреждённый байт может привести к катастрофическим последствиям.
  4. STM32, работа с UART и DMA

    В чём проблема то?
  5. STM32, работа с UART и DMA

    DMA при работе с UART позволит вам снизить нагрузку на процессор при передаче больших объёмов данных. Если ресурсов процессора хватает или объём данных небольшой, то вам без DMA вполне можно обойтись. Отправляйте байт, в цикле дожидайтесь пустого передатчика, повторяйте.
  6. Человек под бомбами пишет, его можно понять.
  7. RL-TCPnet and GPRS using PPP

    Вы там поаккуратнее с частым переподключением GPRS. Есть мнение, что некоторые операторы за это банят. У меня было такое, что модуль напрочь отказывался цепляться к GPRS, а на следующий день работал как ни в чём не бывало.
  8. 10 евро дороговато. Мы SIM900R в 2 раза дешевле берём. Но у нас опт, пусть и небольшой и РФ. Брака пока что не встретил, всё работает как часы. Почти 10000 устройств работает и в ремонт из-за модуля попадает только после удара молнии.
  9. Если экономия денег не имеет максимального приоритета, то присмотритесь всё же к модулям 3G. С точки зрения потребления есть преимущества: - ток в пике ниже, чем у GPRS. - приоритет у 3G трафика выше, чем у GPRS. - скорость передачи выше. В итоге быстрее подключитесь к серверу, быстрее передадите и раньше уснёте. Цены на 3G модули падают, поэтому рентабельность решения будет расти.
  10. lpc1788 iap

    Кстати, вы учли, что IAP использует немного вашей ОЗУ? Вот из даташита: ЦитатаFlash programming commands use the top 32 bytes of on-chip RAM. The maximum stack usage in the user allocated stack space is 128 bytes, growing downwards.
  11. lpc1788 iap

    Почему не работает, не знаю, но прокомментирую саму реализацию. Размещать бутлоадер в конце вполне разумно, у меня так же сделано. Но идея вызывать загрузчик из приложения не очень хорошая. Тут многие сталкивались с проблемами при таком подходе и в итоге переходили к другой схеме: сначала всегда стартует загрузчик и проверяет, нужно ли обновлять приложение или стартовать имеющееся.
  12. Я не работал с 9602, только с 9603. Но когда мы исследовали этот вопрос при выборе модуля, то решили, что 9602 на самом деле не умеет GPS. Вот выдержка из даташита: ЦитатаThe second RF connector, labeled “GPS” in the board silkscreen, is a pass-through connection from the antenna path and is provided for GPS receivers that wish to share the main antenna.
  13. STM32F107RB, проблема с ethernet.

    У меня в своё время на прерывания драйвер тоже не заработал (LPC1768). Разбираться особо не стал и сделал на поллинге очереди DMA.
  14. ЦитатаВопрос: как осуществляется решение подобной задачи в ОСРВ? Через семафор. Однако если лень и производительность не критична, можно тупо читать битовый флаг. А также можно читать флаги и переменные без опаски до тех пор, пока они не превышают размера регистра процессора.
  15. ЦитатаЯ использую следующие AT+CBST=71,0,1. Это оптимальный вариант.
  16. Нужен совет по Cortex-A5

    ЦитатаModbus-RTU - это сложно? Довольно противно. Можно неделю убить на всякие тонкости.
  17. Текстовые файлы в С++.

    ЦитатаЧтобы очистить этот флаг нужно использовать предварительно clear(), что я и отразил в примере. Так clear() и в первоначальном коде был.
  18. Текстовые файлы в С++.

    Я, честно говоря, не понял, что имел в виду demiurg_spb. Наверное, что у него всё работает как надо. Я могу подсказать по поводу версии с закрытием. Сделайте так: Кодfin.close(); ifstream fin2("f.txt "); while (fin2.getline(buff, 50)) { . . . . };
  19. Храните то, что пользователь ввёл. Другим способом восстановить из польской записи первоначальный ввод не получится.
  20. Лучше запретите прерывания глобально, а то у вас в стеке какая-то чушь останется после прыжка. В FreeRTOS после инициализации явно разрешите прерывания.
  21. Думается мне, что обратная польская запись не имеет однозначного выражения в скобочной форме. Поэтому стоит задуматься, зачем вам обратное преобразование. Храните в обычной форме, преобразовывайте при интерпретации.
  22. Ну вам виднее. У меня с периферией проблем не было, а у запускаемого приложения - были. Когда стал прыгать до старта оси, всё стало работать как надо.
  23. ЦитатаЯ в своём загрузчике напоролся на проблемму с SysTick. Как я не старался, мне не удалось его "полностью блокировать". У меня то же самое было. SysTick я поборол, а вот прыжок из работающей ОС у меня так и не завёлся. То есть бут у меня работает под осью, как и основное приложение, а ось, вероятно, постоянно сидит в режиме обработчика прерывания и прыгнуть толком не может.
  24. В C99 тоже можно переменную непосредственно перед использованием объявлять. Тоже есть bool. Ссылки полностью перекрываются указателями. Более-менее ценно в C++ - перегрузка функций и неймспейсы.
  25. ЦитатаДанная либа не позволяет послать фрагментированный UDP длинной 32 kB?!! У вас UDP пакеты длиной 32КБ? Фрагментация касается разбиения отдельных пакетов, когда они не влезают в MTU. Если у вас пакеты небольшие, то без фрагментации всё будет прекрасно работать на любых потоках.