|
1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121
|
|||||||||||
Кракозябры по UART29.04.2019, 07:47. Показов 18466. Ответов 20
Метки нет (Все метки)
Доброго времени суток. Необходимо передать строку через UART с контроллера в компьютер. Но приходят кракозябры. Тактирование от кварца 8МГц. Скорость 9600. В качестве терминала использую утилиту COM Port Toolkit. Конвертор рабочий.
При отправке строки
0
|
|||||||||||
| 29.04.2019, 07:47 | |
|
Ответы с готовыми решениями:
20
Конфигурация UART и просмотр файла, в который приходят данные с UART Сообщения для 2 UART выводятся в 1 UART, STM32F103C8T6 |
|
1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121
|
||||||
| 29.04.2019, 10:40 [ТС] | ||||||
0
|
||||||
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,929
|
|
| 29.04.2019, 10:41 | |
|
Проверьте частоту APB1. Не стоит полагаться на умолчания, лучше явно пропишите делители 1:1.
После переключения RCC_CFGR_SW надо еще дождаться готовности RCC_CFGR_SWS
0
|
|
|
1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121
|
|
| 29.04.2019, 10:54 [ТС] | |
|
Если убрать функцию настройки тактирования, получается частота будет 8МГц от внутреннего генератора. В данном случае передаются кракозябры, но уже другие кракозябры
0
|
|
|
1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121
|
|
| 29.04.2019, 11:12 [ТС] | |
|
Своего осциллографа пока еще нет, но можно напроситься к тому, у кого он есть
0
|
|
|
|
|
| 29.04.2019, 11:25 | |
|
Напроситесь.
Плату запрограммируйте так, чтобы отправляла посылку 0xff 0x00 0xaa 0x55 0cf0 0x0f 0x00 0xff периодически, с интервалом в секунд 5 между посылками. На осциллографе сначала проверьте, что форма сигнала соответствует передаваемым байтам. Нули и единицы, паузы, стартовый и стоповый биты. Затем снимите фото или скриншот (если подключается к ПК) самого первого байта, 0xff, растянув его как можно шире на экран, но чтобы влез. Запишите шаг сетки по оси времени. Затем сюда выложите фото и шаг.
0
|
|
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|
| 29.04.2019, 11:50 | |
|
0
|
|
|
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
|
|
| 29.04.2019, 11:52 | |
|
lipton_v, как вам и подсказывают, ошибка явно в настройке тактирования. Ради интереса, пощёлкайте соседние скорости в терминале например 19200, 38400. Если посылка станет приходить без косяков, то значит у вас частота шины во столько же раз выше 8 МГц.
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,929
|
||
| 29.04.2019, 13:02 | ||
|
...кстати, не знаю сработает ли это вообще... Добавлено через 1 час 9 минут UPD: проверил. Оказывается, у stm32l1 делитель 12-битный (вообще-то 16-битный, но там какие-то свои танцы с бубном) так что ниже 122 Гц при тактовой 8 МГц не выйдет. Глазом это не разглядеть, увы
0
|
||
|
1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121
|
|
| 29.04.2019, 16:03 [ТС] | |
|
Камень STM32F407VG. Формула расчета (f_ck+bautrade/2)/bautrade * bautrade=9600=>833=0x341 взята из интернета. В сети есть и другие формулы, но результат расчета совпадает. Для 8МГц - 0x341
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,929
|
|||||||
| 30.04.2019, 09:28 | |||||||
USART2->BRR =0x0683.Добавлено через 2 минуты А еще лучше - не используйте магических чисел:
0
|
|||||||
|
1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121
|
||||||
| 30.04.2019, 10:57 [ТС] | ||||||
|
Меняю скорость в терминале. Все время кракозябры, либо точки. В файле stm32f4xx.h:
#if !defined (HSE_VALUE) #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ #endif /* HSE_VALUE */ Т.е. кварц на 8МГц. Меняю настройку тактирования прописывая явно делители:
0
|
||||||
|
|
|
| 30.04.2019, 11:04 | |
|
lipton_v, фото с осциллографа есть или не будет?
Добавлено через 3 минуты Похожие темы, где напутали: Stm32 передача данных по UART Обмен USART <-> ПК
0
|
|
|
1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121
|
|
| 30.04.2019, 11:40 [ТС] | |
|
Пока еще нету. Так приходится
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,929
|
||
| 30.04.2019, 13:42 | ||
|
Попробуйте все же поправить коэффициент деления UART как я вам советовал. Либо хотя бы поставить в терминале 19200
0
|
||
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,929
|
||
| 30.04.2019, 13:42 | ||
|
Попробуйте все же поправить коэффициент деления UART как я вам советовал. Либо хотя бы поставить в терминале 19200
0
|
||
| 30.04.2019, 13:42 | |
|
Помогаю со студенческими работами здесь
20
Два TX UART на один RX. Мультиплексирование UART. Кракозябры
Кракозябры Кракозябры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|