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

 
 
> Atmega32+UART
nvk
сообщение Nov 21 2011, 09:35
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 22-07-11
Пользователь №: 66 352



Добрый день!

Пытаюсь с контроллера отправить на терминал компьютера фразу "Hello world!", но ничего не получается. Переходник TTL-RS232 проверял перемычкой на TX и RX - символы нормально приходят на терминал. Скорость - 9600, частота кварца - 8МГц.
Вот исходный код программы:

#include <avr/io.h>
#include <util/delay.h>

void USART_Transmit(char *data)
{
/* Wait for empty transmit buffer */
while (!( UCSRA & (1<<UDRE)));
/* Put data into buffer, sends the data */
int i,s;
s = strlen(data);
for(i=0;i<s;i++)
UDR = data[i];
}

void main(void)
{
int i;
/* Set baud rate */
UBRRH = (unsigned char)(51>>8);
UBRRL = (unsigned char)51;
/* Enable receiver and transmitter */
UCSRB = (1<<RXEN)|(1<<TXEN);
/* Set frame format: 8data, 1stop bit */
UCSRC = (1<<URSEL)|(3<<UCSZ0);
//Десять раз пытаемся отправить фразу
for(i=1;i<11;i++) {
USART_Transmit("HELLO, WORLD!");
_delay_ms(100); }
}

Заранее спасибо за помощь!

Сообщение отредактировал nvk - Nov 21 2011, 09:36
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
hd44780
сообщение Nov 21 2011, 10:14
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



1. Что у Вас в роли конвертера TTL-RS232? MAX232?
2. Какого рода COM-порт в компе? Интегрированный в мать, PCI карта, т.н. "USB переходник"? По моему опыту интегрированные наиболее стабильны (мои "поделки" с MAX232 всегда работали). С 2-мя имеющимися у меня PCI картами на чипах Moschip были сплошные глюки - в обе стороны всегда шёл откровенный мусор и бред. Кстати, мой старый APC UPS тоже в упор отказывался работать на Moschip порте. Но древнейший Dial-up модем US Robotics работает там идеально. Я не разбирался с данным приколом, хотя мне кажется, что м.б. глюки потому, что MAX232 даёт +-10в вместо +-12. USB переходники лично не пользовал, не знаю. Хотя читал немало нареканий на них со стороны владельцев ноутбуков. Короче, если можете, проверьте на интегрированном порте.
3. Проверьте в доке контроллера отклонение от требуемой скорости. Д.б. 0.2-0.3%. 2.x% у меня никогда не работало. Типа скорость 115200 на "целочисленных" кварцах 4, 8, 12, 16 MHz невыполнимая задача - большое отклонение, надо ставить кристалл с дробными MHz.

Сообщение отредактировал hd44780 - Nov 21 2011, 10:23


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
nvk
сообщение Nov 21 2011, 10:33
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 22-07-11
Пользователь №: 66 352



Цитата(hd44780 @ Nov 21 2011, 17:14) *
1. Что у Вас в роли конвертера TTL-RS232? MAX232?
2. Какого рода COM-порт в компе? Интегрированный в мать, PCI карта, т.н. "USB переходник"? По моему опыту интегрированные наиболее стабильны (мои "поделки" с MAX232 всегда работали). С 2-мя имеющимися у меня PCI картами на чипах Moschip были сплошные глюки - в обе стороны всегда шёл откровенный мусор и бред. Кстати, мой старый APC UPS тоже в упор отказывался работать на Moschip порте. Но древнейший Dial-up модем US Robotics работает там идеально. Я не разбирался с данным приколом, хотя мне кажется, что м.б. глюки потому, что MAX232 даёт +-10в вместо +-12. USB переходники лично не пользовал, не знаю. Хотя читал немало нареканий на них со стороны владельцев ноутбуков. Короче, если можете, проверьте на интегрированном порте.
3. Проверьте в доке контроллера отклонение от требуемой скорости. Д.б. 0.2-0.3%. 2.x% у меня никогда не работало. Типа скорость 115200 на "целочисленных" кварцах 4, 8, 12, 16 MHz невыполнимая задача - большое отклонение, надо ставить кристалл с дробными MHz.


1. МАХ232.
2. У меня ноутбук с PCMCIA-картой ST-LAB 191. Нареканий на неё нет. Прекрасно работает в терминале с GSM-модулем SIM300.
3. Ошибка на скорости 9600 всего 0,2%. Хотя бы должны приходить какие-нибудь кракозябры.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- nvk   Atmega32+UART   Nov 21 2011, 09:35
- - Палыч   Хорошо бы указывать: чем вы это компилировали... ...   Nov 21 2011, 09:47
|- - nvk   Цитата(Палыч @ Nov 21 2011, 16:47) Хорошо...   Nov 21 2011, 09:54
- - Genadi Zawidowski   Строка хранится в RAM. Доступ к ней делается прави...   Nov 21 2011, 10:09
||- - hd44780   Цитата(nvk @ Nov 21 2011, 13:33) 1. МАХ23...   Nov 21 2011, 10:51
||- - Палыч   Цитата(nvk @ Nov 21 2011, 14:33) 3. Ошибк...   Nov 21 2011, 10:55
||- - nvk   Цитата(Палыч @ Nov 21 2011, 17:55) Должны...   Nov 21 2011, 14:47
||- - hd44780   Цитата(nvk @ Nov 21 2011, 17:47) Светодио...   Nov 21 2011, 15:20
|- - Navovvol   Цитата(hd44780 @ Nov 21 2011, 13:14) 3. П...   Nov 21 2011, 11:01
|- - Navovvol   Цитата(Navovvol @ Nov 21 2011, 14:01) Еру...   Nov 21 2011, 11:04
|- - hd44780   Цитата(Navovvol @ Nov 21 2011, 14:01) Еру...   Nov 21 2011, 11:09
|- - Navovvol   Цитата(hd44780 @ Nov 21 2011, 14:09) Синх...   Nov 21 2011, 11:14
- - hd44780   Да, и проверьте ещё распайку кабеля. На порте нога...   Nov 21 2011, 11:04
- - Genadi Zawidowski   КодUCSRB = 0x19 Вы решили передавать девятибитные ...   Nov 21 2011, 18:58
|- - nvk   Преобразователь я уже проверял - символы нормально...   Nov 22 2011, 14:28
|- - Палыч   Цитата(nvk @ Nov 22 2011, 18:28) В прилаг...   Nov 22 2011, 17:39
|- - nvk   Цитата(Палыч @ Nov 23 2011, 00:39) В Пони...   Nov 22 2011, 18:25
- - Genadi Zawidowski   Может помочь файл с фюзами для внутреннего генерат...   Nov 23 2011, 16:52
- - nvk   С такими настройками работает. Не установил только...   Nov 23 2011, 19:00
- - nvk   Цитата(nvk @ Nov 24 2011, 02:00) Подключи...   Nov 24 2011, 05:12
- - Genadi Zawidowski   Цитата(nvk @ Nov 24 2011, 09:12) Заработа...   Nov 24 2011, 20:31


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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 19:53
Рейтинг@Mail.ru


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