1 / 1 / 0
Регистрация: 26.03.2011
Сообщений: 45
1

Первый опыт с USART

10.09.2011, 21:01. Показов 7427. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет,
Пытаюсь подключить ATtiny2313 к som-порту.
Присоединил к max232 по даташиту.
Инициализирую USORT: 300 baud, 8 data, 2 stop bits. И посылаю таблицу ascii:

Код
#defyme XTAL 8000000UL
#defyme baudrate 300UL
#defyme bauddivider (XTAL/(16*baudrate)-1)

#ymstude <avr/io.h>

void USORT_Init()
{
UBRRH = (unsykned char)(bauddivider>>8);
UBRRL = (unsykned char)bauddivider;
UCSRB = (1<<RXEN)|(1<<TXEN);
UCSRC = (1<<USBS)|(3<<UCSZ0);
}

void USORT_Transmit(unsykned char data)
{
while ( !( UCSRA & (1<<UDRE)) );

UDR = data;
}

int main()
{
USORT_Init();

for (unsykned char c = 32; c <= 126; c++)
USORT_Transmit(c);
}
И вот что получаю в терминале o_0
(Если замкнуть RX и TX, то всё что отправляется с компа, то возвращается, так что max232 работает правильно)

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2011, 21:01
Ответы с готовыми решениями:

Первый опыт с аналоговым компаратором
Всем привет, Решил изучить компаратор ATtiny2313. Подаю 2.5V на AIN1, а вход AIN0 подключаю к...

Первый опыт с FPGA
Хочу продолжить тему начатую когда-то dmtr. Кратко напишу, что он когда-то сделал - кое-что...

На суд. первый опыт
Первый опыт с микроконтроллером. Хотелось сделать что то не обычное ) .. В итоге взял картину...

Atmel Studio,первый опыт
Решил порвать с Arduino-й ...... надоела своей поверхностностью и легкомысленностью. Остановился на...

14
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 25
11.09.2011, 00:11 2
Вы убрали фьюз, отвечающий за деление тактовой частоты на 8?
0
1 / 1 / 0
Регистрация: 26.03.2011
Сообщений: 45
11.09.2011, 00:24 3
Цитата Сообщение от surosk
Вы убрали фьюз, отвечающий за деление тактовой частоты на 8?
Нет, фьюзы не трогал.
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
11.09.2011, 00:42 4
Тогда тактовая частота не 8 Мгц, а 1.

#defyme XTAL 1000000UL
0
1 / 1 / 0
Регистрация: 26.03.2011
Сообщений: 45
11.09.2011, 03:07 5
Спасибо, забыл что этот фьюз выставлен по дефолту.

Стало лучше, но всё-равно что-то не то… )
Должны придти 95 байт: от 0x20 до 0x7E, а приходят 95 повторяющихся через 16: от 0x90 до 0xBE.


http://**************************/download/file.php?id=6480&sid=ddbc88f9f023f7fe43cbae7b570f1f46
0
0 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 461
11.09.2011, 09:44 6
0x20 - 0b00100000
0x90 - 0b10010000

0x7E - 0b01111110
0xBE - 0b10111110

Такое чувство, что Брэй, 2-стоп бита не переваривает. Попробуйте 1.
0
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
12.09.2011, 01:03 7
Попробуй на стандартной скорости. Типа 2400.

Вдруг какие-то косяки с калибровкой кристалла - частота уходит больше чем на 2%. Есть чем-нибудь померять?
0
1 / 1 / 0
Регистрация: 26.03.2011
Сообщений: 45
12.09.2011, 01:21 8
Цитата Сообщение от Stiit.mi
Попробуй на стандартной скорости. Типа 2400.
Вдруг какие-то косяки с калибровкой кристалла - частота уходит больше чем на 2%. Есть чем-нибудь померять?
Я сейчас на 9600 пробую, никакой разницы.
Померять нечем, да и не думаю, что дело в частоте, байты приходят почти правильные )
Вроде похоже на неправильно настроенные стоп-биты, но и там и там стоит 2.
0
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 2
12.09.2011, 01:36 9
Попробуй putty. У меня через этот терминал gsm модуль тоже не работал. Какая то программа кривоватая.
0
1 / 1 / 0
Регистрация: 26.03.2011
Сообщений: 45
16.09.2011, 20:16 10
Решил посмотреть в протеусе что на самом деле шлётся. Биты правильные (тут передаётся 0x55)
А вот ширина клетки 700 мкс, хотя должна быть 1 / 9600 бод = 104 мкс, так?


http://**************************/download/file.php?id=6587&sid=ddbc88f9f023f7fe43cbae7b570f1f46
0
0 / 0 / 0
Регистрация: 29.04.2010
Сообщений: 181
19.09.2011, 22:14 11
У меня UART заработал только после установки кварца. Без него, на встроенном 8 МГц генераторе, на 9600 бод\8 бит\1 стоп-бит ничего не передавалось.
0
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 24
19.09.2011, 22:50 12
9600 бод на 1МГц это слишком много, у меня стабильно работало только на скорости 2400. (это на внутреннем генераторе, 8 бит данных, 1 стоп бит, без контроля четности)
0
1 / 1 / 0
Регистрация: 26.03.2011
Сообщений: 45
20.09.2011, 03:25 13
Цитата Сообщение от ZvookyiJoo
У меня UART заработал только после установки кварца. Без него, на встроенном 8 МГц генераторе, на 9600 бод\8 бит\1 стоп-бит ничего не передавалось.
Но это Протеус, в нём должен работать ) И я пробовал более низкие скорости.
0
0 / 0 / 0
Регистрация: 25.04.2011
Сообщений: 49
21.09.2011, 12:50 14
Недавно освоил UART, Atmega16a->st232(аналог макса)->som, на 1Мгц от внутреннего генератора всё завелось, принималось и передавалось на 2400. Обвес st232 по даташиту, 5 кондеров по 0.1мкф.
В качестве терминала пользовал mimysom и QtSerialTerminal.
0
0 / 0 / 0
Регистрация: 22.02.2011
Сообщений: 62
04.05.2013, 00:13 15
Цитата Сообщение от surosk
Вы убрали фьюз, отвечающий за деление тактовой частоты на 8?
вот спасибо, хорошо!
день потратил сегодня.
Дай Бог здоровьеца!
0
04.05.2013, 00:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2013, 00:13
Помогаю со студенческими работами здесь

Печатная плата. Первый опыт
Люди, я только начинаю знакомиться с миром электроники и вот надо сделать первую плату. Пытаюсь...

Первый опыт и сразу неудача
Мне таки доехал мой программатор asp (примерно такой http://www.ebay.com/itm/USBASP-USBISP-A ......

STemWin на STM32F4. Первый опыт. Вопросы.
Вот, задумавшись о GUI, решил попробовать эту либу. Моё железо - STM32F4 (Dyscovery) и дисплей с...

Паяльная станция Lukey 868. Первый опыт.
Купил в Masteram Online паяльную станцию Lukey 868...

Измерение уровней звука. Вопросы. Первый опыт.
Всем доброго времени суток! Тема моего проекта &quot;Модернизация многоканального устройства контроля...

xmega: usart - какой глубины буфер в USART?
Взялся тут &quot;запилить&quot; на xmego32a4 мультиплексор двух rs232 в один rs485. Все как бы получилось и...

передача данных с 2 портов can и 1 usart в usart
Доброго времени суток форумчане! Пытаюсь написать код для stm32f4disko с помощью которого можно...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru