реклама на сайте
подробности

 
 
> USART
KIG
сообщение Jul 25 2007, 10:13
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Здравствуйте!
Пытаюсь передать цифру 5 через USART ATmega16 на компьютер в программу Terminal. На компьютере принамаю вместо одной цифры три, причем среди них нет ни одной пятерки. В программе Terminal установил скорость передачи в 115200 кбит/с, 2 стоповых бита, 8 бит в кадре. Код программы привел ниже. В чем причина, что я делаю неправильно?

#include <iom16v.h>
#include <macros.h>

void uart0_init(void)
{
UCSRB = 0x00; //disable while setting baud rate
UCSRA = 0x00;
UBRRL = 0x01; //set baud rate lo
UBRRH = 0x00; //set baud rate hi
UCSRC = 0x8E;
UCSRB = 0x08;
}

void putchar(char ch)
{ while (!(UCSRA&(1<<UDRE)));
UDR=ch;
}

void main(void)
{CLI(); //disable all interrupts
uart0_init();
SEI(); //re-enable interrupts
putchar(5);
while(1);
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
colombo_2007
сообщение Jul 27 2007, 05:50
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 19-07-07
Пользователь №: 29 221



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


--------------------
Все просто, но нам не заметно
Go to the top of the page
 
+Quote Post
KIG
сообщение Jul 27 2007, 16:45
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Цитата(colombo_2007 @ Jul 27 2007, 08:50) *
Я так и не понял решилась ли у вас проблема. Если не решилась проверьте фьюзы, контроллер может работать от внутреннего генератора с меньшей частотой.



Проблема решилась частично. Действительно МК работал от внутреннего генератора. Установив фьюзы, запитал от внешнего кварца. Решил проверить путем передачи цифры '5' одну за другой, но принять что хотел не удалось. В зависимости от момента подключения программы Terminal к COM-порту на экране появлялись разные цифры, но не '5' (пару раз все же удалось вовремя подключиться и принимать '5', но отключившись и снова подключившись принимал другие цифры). От проблемы избавился путем установки задержки по времени между отправками '5'. Почему все-таки не удавалось принимать пятерку при её отправлении без задержки? ( Пробовал разные Baude rate - всё также).
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 27 2007, 17:02
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(KIG @ Jul 28 2007, 00:45) *
Проблема решилась частично........

В зависимости от момента подключения программы Terminal к COM-порту на экране появлялись разные цифры, но не '5' (пару раз все же удалось вовремя подключиться и принимать '5', но отключившись и снова подключившись принимал другие цифры)..................
не пойму зависимости подключения программы Terminal smile.gif ... Запускаешь Terminal, идешь на кухню, наливаешь кофе, приходишь к компьютеру, жмешь ресет или еще чегойто на макетной плате, видишь цифру 5 smile.gif ...

Или я еще чего упустил?


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- KIG   USART   Jul 25 2007, 10:13
- - KRS   Цитата(KIG @ Jul 25 2007, 14:13) На компь...   Jul 25 2007, 10:19
|- - KIG   Цитата(KRS @ Jul 25 2007, 13:19) Так на м...   Jul 25 2007, 12:22
- - prottoss   По поводу baudrate : я делаю так Код#define CPU_C...   Jul 25 2007, 10:47
|- - Сергей Борщ   Цитата(prottoss @ Jul 25 2007, 13:47) Код...   Jul 25 2007, 12:21
|- - prottoss   Цитата(Сергей Борщ @ Jul 25 2007, 20:21) ...   Jul 25 2007, 12:46
- - =GM=   Цитата(KIG @ Jul 25 2007, 09:13) Пытаюсь ...   Jul 25 2007, 12:13
- - Igor26   А почему два стоп-бита?   Jul 25 2007, 12:59
|- - Сергей Борщ   Цитата(Igor26 @ Jul 25 2007, 15:59) А поч...   Jul 25 2007, 14:05
|- - =GM=   Цитата(Сергей Борщ @ Jul 25 2007, 13:05) ...   Jul 26 2007, 12:12
|- - Сергей Борщ   Цитата(=GM= @ Jul 26 2007, 15:12) Ну здес...   Jul 26 2007, 14:45
|- - =GM=   Цитата(Сергей Борщ @ Jul 26 2007, 13:45) ...   Jul 26 2007, 15:18
- - SasaVitebsk   Даже ещё усугублю немножко. Я тут хомутнул и на...   Jul 26 2007, 20:20
|- - =GM=   Цитата(KIG @ Jul 27 2007, 16:45) В зависи...   Jul 27 2007, 21:42
|- - Petka   Цитата(=GM= @ Jul 28 2007, 01:42) Чтобы и...   Jul 28 2007, 08:18
- - KIG   Спасибо за помощь! Постараюсь сегодня попробов...   Jul 30 2007, 07:50


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 07:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.0141 секунд с 7
ELECTRONIX ©2004-2016