Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/47: Рейтинг темы: голосов - 47, средняя оценка - 4.62
kyv
0 / 0 / 0
Регистрация: 22.03.2016
1

Проблема с UART

16.01.2015, 02:29. Просмотров 8517. Ответов 3
Метки нет (Все метки)

Имеется MSP430F5529 Launchpad, хочу разобраться с UART - для этого реализую простой эхо-режим.

Код
void setup_clock() {
P5SEL |= BIT4 | BIT5; // XT1
P5SEL |= BIT2 | BIT3; // XT2
UCSCTL6 = XCAP_3; // XT1 capacitors
UCSCTL0 = 0x1F00;
UCSCTL1 = DCORSEL_4;
UCSCTL2 = 25;
UCSCTL3 = FLLREFDIV__4 | SELREF__XT2CLK;
UCSCTL4 = SELM__DCOCLK | SELS__DCOCLK | SELA__XT1CLK;
}

void setup_uart() {
P4SEL |= BIT4 | BIT5;
UCA1BR0 = 13;
UCA1BR1 = 0;
UCA1MCTL = (9 << 4) | UCOS16;
UCA1CTL1 = UCSSEL__SMCLK;
UCA1IE |= UCRXIE;
}

void __attribute__((interrupt(USCI_A1_VECTOR))) USCI_A1_ISR() {
UCA1TXBUF = UCA1RXBUF;
}
Результирующая тактовая частота МК 25 МГц (XT2 - 4 МГц, которые делятся на 4 и умножаются на 25). Вроде настроил делитель UART по формулам из даташита. Подключаю переходник на базе FTDI к нужным ножкам - данные идут, но бьются. То есть, вместо одних латинских букв могут приходить другие, не приходить почти все цифры и знаки препинания, зато нормально доходит Backsposi. При этом ошибки всегда одинаковые (один и тот же символ превращается в один и тот же). Переходник USB-TTL точно рабочий и настроен на режим 3.3В (на нём есть джампер для переключения).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2015, 02:29
Ответы с готовыми решениями:

uart pic16f887 проблема
Привет, извините, пошла вторая неделя как разбираюсь с одной проблемой, перерыл весь интернет и...

Проблема согласования связи приборов по UART
Доброго времени суток. Опять я со своими кривыми ручками... В общем, на предприятии возникла...

Проблема с ADuC845, вывод данных через UART
Уважаемые знатоки! Есть задача вывода данных из ADuC845 на монитор ПКUART2.docx (с помощью...

UART dsPIC
Всем привет! Есть проблема с PIC void __attribute__((__interrupt__, no_auto_psv))...

UART и dsPIC30F4012
Доброго всем времени суток. Докатился я до пик контроллеров(хотя не люблю я их но жизнь заставила)....

3
kyv
0 / 0 / 0
Регистрация: 22.03.2016
17.01.2015, 21:52 2
Проблема решилась понижением частоты MCLK до 20 МГц. Интересно, что проблема сохранялась даже если SMCLK была настроена на XT2CLK (4 МГц). Теперь всё работает как надо, данные не бьются.
0
Omtomyo64
0 / 0 / 0
Регистрация: 29.01.2016
Сообщений: 1
02.02.2016, 03:34 3
Доброго времени уток! Помогите пожалуйста советом.
Есть ЛаунчПад MSP430 чип G2553, использую Energia0101E0017
Проблема: если использую программный UART аппаратный перестает отправлять строки типа String. Точнее он их отправляет пустые, убираешь из программы праграммный UART все работает. А еще если я хоть одну функцию из библиотеки OneWare использую, аппаратный UART перестает принимать данные от ПК.
Заранее благодарю)
0
MrYurom
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 492
03.02.2016, 08:05 4
Ну хоть бы текст привели, чтоли. А то получится гадание на курсе рубля..
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2016, 08:05

AT89C51 UART
Добрый вечер. Вот возникла такая проблема: на контролере AT89C51 питаюсь завести UART. SCON: SM0 =...

Отправка данных по UART
Я писал программу которое измеряет температуру с датчика DS18B20 int main(void) { uint8_t...

Работа с UART ATMega8
Всем привет! Использую эту программу #include &lt;mega8.h&gt; #include &lt;delay.h&gt; #include &lt;stdio.h&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru