Jump to content
Viktor Golubov

Сообщения для 2 UART выводятся в 1 UART, STM32F103C8T6

Recommended Posts

Почему может неправильно работать uart? Подключил 1 uart к пк через usb/uart переходник, а второй к gsm модему. В первый уарт вывожу инфу для дебага, а во второй AT команды. Суть в том, что сообщения для 2 уарта выводятся в 1 уарт

и выводятся как то странно

не полностью

Вот такой вывод постоянно:

Begin
End
AT+CNMI=2,2,0,0,0
AT+CMGEnd
AT+CNMI=2,2,0,0,0

а должно быть просто

begin

end

и все

полный код https://pastebin.com/zBBZmZue

Share this post


Link to post
Share on other sites

задебаж. Скорее всего какой то из твоих посылок не хватает времени на отправку. Тыж не проверяешь на завершение отправки, а тупо стопишь код,

IF (HAL_UART_Transmit(&huart2, "Begin\n\r", 40, 200) != HAL_OK) UART_ErrorHandler(1);

в обработчик передай номер вызова по порядку вместо единички и увидишь сразу где ошибка. Ессно в обработчике сделай бесконечный цикл и поставь на нем брэкпоинт

Edited by mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

1 час назад, Viktor Golubov сказал:

Суть в том, что сообщения для 2 уарта выводятся в 1 уарт

Это все по тому, что нет ни малейшего понимания работы МК. Выкинь нафиг все HAL либы из проекта, открой даташит и напиши человеческий код. Тогда и работать будет, как надо. Тем более, что настройка UART проще паренной репы. В STM32, в принципе, очень мало сложной периферии. Большая часть сделана очень просто и логично.

Share this post


Link to post
Share on other sites

Вебинар "Новый BlueNRG-LP с Bluetooth 5.2 и Long Range — волшебная палочка разработчика IoT" (04/02/2021)

Приглашаем 4 февраля на бесплатный вебинар о BlueNRG-LP - новой системе-на-кристалле (SoC) STMicroelectronics. На вебинаре будут детально рассмотрены функциональные блоки, особенности подключения, аппаратные и программные средства для разработки, настройка сценариев с помощью BlueNRG-GUI, практические примеры работы с микросхемой, а также примеры применения BlueNRG-LP в устройствах интернета вещей.

Подробнее

человек попросил помочь, а не обращать его в свою веру


Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Share this post


Link to post
Share on other sites

Новые компактные конденсаторы Panasonic серии TPS. Закаленный характер.

Panasonic представил новую серию TPS твердотельных танталовых конденсаторов с проводящим полимером для поверхностного монтажа. Конденсаторы серии TPS обладают уникальными особенностями, что делает их отличным выбором для использования в приложениях с высокими требованиями.

Подробнее

Пока у человека не будет понимания работы МК - вся помощь бессмысленна. А с гамном в виде HAl и SPL ее никогда не будет.

Share this post


Link to post
Share on other sites

SiC MOSFET на 1200 В для схем флайбэк до 500 Вт!

Компания Wolfspeed выпустила новые карбид-кремниевые транзисторы C3M0350120D/J на 1200 В, предназначенные для маломощных устройств мощностью до 500 Вт. Карбид-кремниевые транзисторы в сравнении с кремниевыми демонстрируют меньший на 75% уровень потерь на переключение и меньшее на 50% значение потерь проводимости в рабочем режиме при температуре кристалла 100…150°С.

Подробнее

ну тебе то от этого что будет? Хочет товарищ - пусть грызет кокос хоть жопой


Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Share this post


Link to post
Share on other sites
10.02.2020 в 12:19, mail_robot сказал:

в обработчик передай номер вызова по порядку вместо единички и увидишь сразу где ошибка. Ессно в обработчике сделай бесконечный цикл и поставь на нем брэкпоинт

Написал обработчик, а потом физически отключил уарт, но ошибку стм все равно не видит

Код: https://pastebin.com/fuxj68VS

Share this post


Link to post
Share on other sites
10.02.2020 в 12:44, BARS_ сказал:

Это все по тому, что нет ни малейшего понимания работы МК. Выкинь нафиг все HAL либы из проекта, открой даташит и напиши человеческий код. Тогда и работать будет, как надо. Тем более, что настройка UART проще паренной репы. В STM32, в принципе, очень мало сложной периферии. Большая часть сделана очень просто и логично.

А если не через HAL, то это тогда работать через регистры CMSIS?

Share this post


Link to post
Share on other sites

ну значит дело не в таймаутах. Увеличь паузы между передачами до секунды. Делай что нибудь, ищи ошибку, за тебя это никто делать не будет. А то мож ты там и с проводами напартачил, а мы тут гадать будем


Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Share this post


Link to post
Share on other sites
1 час назад, Viktor Golubov сказал:

тогда работать через регистры CMSIS?

Именно. Читаешь даташит и пишешь код. Все просто.

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения


  • Модуль реле с ИК-датчиком движения, 12В. Регулируемая задержка: 10...350 сек

  • Similar Content

    • Guest NickL
      By Guest NickL
      Всем привет.
      Имеется датчик давления под управлением микрухи MLX90308. Микруха сия собирает показания с 4-х включенных мостом тензометрических датчиков, и отдает обработанное значение в виде аналогового сигнала. Так же есть пин для получения данных в цифре и калибровки/прошивки этой микрухи. Производитель микрухи предлагает бесплатный софт и свою отладочно-прошивочную плату (EVB90308) за 250 бакинских (дорого), которую ждать 8 недель (долго)
      Судя по докам, там обычный UART, но с другими уровнями. Логический 0 = 0.3*Uвх, т.е. 1.5в, Логическая 1 = 0.7*Uвх, т.е. 3,5в. И всё это засунуто в единственный пин и на прием и на передачу.
      Универ был давно, да и учился я плохо, подскажите пожалуйста пример схемы чтобы 1) свести tx и rx на одну ногу 2)согласовать уровни для чтения/записи сей микрухи доступными средствами. Например, FTDI.
      Даташит микрухи:
      https://www.melexis.com/-/media/files/documents/datasheets/mlx90308-datasheet-melexis.pdf
      Спасибо заранее! Это датчик из блока АБС мотоцикла, замены нет, б/у запчастей нет, а новый блок стоит как сам мотоцикл.
    • By Дмитрий -
      На примере GSM/GPRS Goouuu Tech IOT-GA6-B и ATtiny85.
      Программа «Звонилка». 
      Программа на BASCOM-AVR. 
      Источник https://178654.blogspot.com/p/uart.html
       

    • By Highlander7
      Хотелось бы поделиться некоторыми результатами теста модуля GSM с литий-диоксидмарганцевыми батарейками. Может кому-то это будет интересно.
      Иногда  мне приходится работать с различными GSM модулями. И вот в очередной раз, потребовалось выяснить в реальном эксперименте насколько долго может проработать GSM модуль M66FA-04-STD (Quectel) с указанным типом батареек. В результате эксперимента нужно было контролировать количество отправленных СМС-сообщений. В качестве батареек взял CR17505E fanso, которые были под рукой на тот момент. Посмотрел, что необходимые  параметры они обеспечивают. Выбранные батарейки соединил последовательно. На тестовой плате установил понижающий DC-DC преобразователь TPS62130 (TI) настроенный на 3,7 В выходного напряжения, а вся схема управлялась микроконтроллером  ATXMEGA16E5 (Atmel - Microchip). 
       

       
      В итоге: 10 сентября был запущен тест батареек в качестве источника питания для платы с GSM модулем.
      Сущность теста – микроконтроллер один раз в час включает GSM модуль и отправляет СМС с некоторым набором данных.
      После отправки СМС модуль выключается, а микроконтроллер на 1 час уходит в режим сна, ток потребления от батареек 65 мкА.
      До 21 сентября тестируемый комплект находился в комфортных условиях – хороший уровень сигнала сети GSM и комнатные температуры воздуха.
      СМС-ки нормально отправлялись и приходили каждый час. Было отправлено порядка 240 СМС-сообщений.
      21 сентября тестируемый комплект отвез за город и разместил в помещении с низким уровнем сигнала сети GSM и с уличной температурой воздуха. Температура воздуха ночью снижалась до 0 градусов, днем была +10 … +15.
      Проработав в таких условиях около двух суток, и, отправив порядка 50 СМС-сообщений, GSM модуль стал самостоятельно выключаться при регистрации в сети. Большой ток потребления (до 2 А) и выросшее из-за низких температур внутреннее сопротивление батареек приводили к провалу напряжения ниже допустимого уровня.
      24 сентября тестируемый комплект был выключен.
      30 сентября тестируемый комплект был снова включен, и он продолжил нормально работать (комнатные температуры и хороший уровень сигнала GSM).
      02 октября тестируемый комплект был размещен на застекленном балконе (температуры ночью ниже, чем в квартире).
      И вот до 09.10. модуль работает нормально, и пока сбоев в работе не было – СМС-ки исправно приходят каждый час.  
      09.10. эксперимент был остановлен в ожидании отрицательных температур, т.к. на улице было тепло.
      Теперь при наступлении ночью отрицательных температур эксперимент планирую продолжить.
      Пока было получено порядка 530 СМС-сообщений.
      В даташите на батарейку CR17505E fanso есть график зависимости напряжения батарейки от потребляемого тока при различных температурах.
      Для нуля градусов кривая доходит до тока 1 Ампер.
      Так как у меня 2 батарейки и хороший DC-DC (TPS62130), то нужный в худших условиях приема  GSM модулю M66 ток 1.6 А они могут обеспечить.
      Вообще-то, результат такого теста зависит от большого числа факторов:
      - качества антенны;
      - качества согласования антенны с сотовым модулем;
      - качества разводки печатной платы;
      - кпд понижающего DC-DC преобразователя;
      - величины ёмкостей конденсаторов на входе и выходе DC-DC преобразователя;
      - длительности сна (1 раз в час или 1 раз в сутки);
      Для -20 градусов кривая на графике доходит до тока только 0.4 Ампера. Можно сказать, что эти  батарейки оптимально использовать с GSM модулями до 0 градусов, или до -3 … -5 градусов.
      В моем эксперименте модуль GSM начал выключаться при близких к 0 температурах, но надо учесть, что батарейки уже проработали почти две недели. Если бы они были свежими, то, может быть, он бы не стал выключаться через два дня после «вывоза на природу».
      По питанию, для этого типа батареек наблюдается зависимость выходного напряжения в области отрицательных температур при больших значениях потребляемого тока. Думаю для более эффективного использования этих батареек на таких значениях тока (порядка 2 А и выше) наверное сможет помочь использование дополнительного суперконденсатора (ионистора) с низким внутренним сопротивлением подключенного параллельно батарейке. Этот суперконденсатор в момент импульса тока возьмёт на себя основную нагрузку и поможет разгрузить батарейку, увеличив ее срок службы.
       
    • By IgnatiusF
      Появилась надобность в микроконтрллере STM32 для проектирования устройства. И вопрос вот в чем - в программировании этих стм-ов. Прочитал несколько статей по их программированию - что вообще для этого нужно. Выяснил, что в них (во всех?) есть вшитый bootloader, который может сам прошить МК.
      То есть для этого необходимо подключить какой-либо ...to UART преобразователь, а именно TX, RX, VCC и gnd к соответсвующим ногам микроконтроллера и все? Или надо еще куда-то подавать управляющий сигнал?
      Еще вопрос по поводу бутлоадера - если он занимает 8 КБ (или по разному?), то МК с 16 КБ памяти, по сути, будет иметь 8 КБ для программ?
      Datasheet я только начинаю читать и пока еще не нашел точной информации, так что за помощь буду очень признателен
    • Guest Proton
      By Guest Proton
      Здравствуйте.
      Имеется сигнальный трансформатор 1:1, которому нужно работать на пару сотнях кГц. Одна его обмотка идёт на линию, вторая служит для приёма и передачи сигнала, например с UART. Но как это реализовать? Выходной каскад, скорее всего, на биполярном транзисторе, входной - на ОУ, но имею малые представления о совмещении этого воедино.
      Прошу объяснить и направить на необходимую литературу.
      Спасибо.
×
×
  • Create New...