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

Общение двух STM32f103 по UART

Добрый вечер, уважаемые форумчане.

Я новичок, поэтому у меня возникла следующая проблема. Я соединяю два МК stm32f103c8 (blue pill) через UART2. Мне необходимо с одного на другой передать последовательность из 4 байт 0х01020304. Куски кода отправки я выложил. Контроль отправленной последовательности через CDC  произведен. А вот на приеме - полная ерунда. Подскажите пожалуйста, что я делаю не так?

Снимок экрана от 2024-04-15 14-08-23.png

Снимок экрана от 2024-04-15 14-08-36.png

Снимок экрана от 2024-04-15 13-57-46.png

Снимок экрана от 2024-04-16 10-19-55.png

Снимок экрана от 2024-04-15 13-58-46.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Судя по всему, скорости при инициализации UART разные

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, скорости при инициации выставлены 115200, 8 бит, без контроля четности на обоих блюпилах.

 

1 минуту назад, EdgeAligned сказал:

Читаю мануал в слух. Дорого, по выходным - скидка

Подскажите пожалуйста, что там написано по моему вопросу? Я ничего подобного там не нашёл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 minutes ago, joraver said:

Подскажите пожалуйста, что я делаю не так?

Может, землю не подключили?

 

Передайте сначала эти четыре байта одним контроллером на самого себя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На одном микроконтроллере все работает. Запустил передачу с uart2 на uart3. Все скриншоты и выписки из кода прилагаю. 

Снимок экрана от 2024-04-16 11-37-12.png

Снимок экрана от 2024-04-16 11-38-05.png

Снимок экрана от 2024-04-16 11-38-38.png

Снимок экрана от 2024-04-16 11-36-44.png

IMG_0806.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, joraver сказал:

На одном микроконтроллере все работает. Запустил передачу с uart2 на uart3. Все скриншоты и выписки из кода прилагаю. 

Вроде как должно быть очевидно, что отлаживать нужно начинать не с МК<->МК, а с МК->ПК и МК<-ПК. Дабы не валить всё в одну кучу, а решать задачу по частям.

И выкинуть всё это безобразие с кучей контактов (непонятного качества), а нормально распаять соединения. Чтобы не плутать в 3-х соснах из-за плохого контакта в куче соединений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, jcxz сказал:

Вроде как должно быть очевидно, что отлаживать нужно начинать не с МК<->МК, а с МК->ПК и МК<-ПК. Дабы не валить всё в одну кучу, а решать задачу по частям.

И выкинуть всё это безобразие с кучей контактов (непонятного качества), а нормально распаять соединения. Чтобы не плутать в 3-х соснах из-за плохого контакта в куче соединений.

Уважаемый, если бы у меня стояла проблема соединения МК с ПК, я бы так и написал. Но мне нужно соединить именно два МК. Что касается пайки - на работе с этим сложности определенные возникают, поэтому - да, макетная плата.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, joraver said:

Уважаемый, если бы у меня стояла проблема соединения МК с ПК, я бы так и написал.

Вы не поняли, что Вам посоветовали: отлаживать обмен данными между ПК и МК. Что значительно проще. На ПК можно запустить различные терминалы, снифферы и вообще, его работоспособность УАСПП априори известна. Поэтому, все неполадки сводятся только к аппаратному и программному обеспечению МК.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, joraver сказал:

Уважаемый, если бы у меня стояла проблема соединения МК с ПК, я бы так и написал.

Ясно. "Чукча не читатель, чукча писатель". Тогда ничего не поможет, продолжайте в том же духе.....  :unknw:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 минут назад, haker_fox сказал:

Вы не поняли, что Вам посоветовали: отлаживать обмен данными между ПК и МК. Что значительно проще. На ПК можно запустить различные терминалы, снифферы и вообще, его работоспособность УАСПП априори известна. Поэтому, все неполадки сводятся только к аппаратному и программному обеспечению МК.

А вот сейчас действительно не понимаю. У меня не возникает проблем отправить мою последовательность на ПК. Он все понимает и отображает именно то, что я посылаю. А вот с МК совсем другое дело. Я может конечно и чукча (об этом писал в самом начале), но как мне получить 0х01020304 на втором блюпиле - для меня кране серьезный вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала закольцевать и принять на том же самом.

А, уже было. Тогда отставить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, joraver said:

У меня не возникает проблем отправить мою последовательность на ПК.

Через CDC. А можно подключить через преобразователь уровней к настоящему RS-232 (если он, конечно, на ПК имеется).

 

Вообще, раз уж МК слышит сам себя, то при подключении крест-накрест второй платы с той же программой ничто не должно помешать им слышать друг друга.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...