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

 
 
> AT90S2313-10PI(пробелема с получением данных по..., RS-232(COM PORT)
mejia
сообщение Jun 12 2005, 13:57
Сообщение #1





Группа: Новичок
Сообщений: 12
Регистрация: 12-06-05
Пользователь №: 5 952



вопрос такой, кто-нибудь сталкивался с проблемой получния даннах с компа по RS-232?

Идея в том, что отсылка вроде понятно как осуществить, то есть когда сам захочешь.... а вот принять не понятно.... надо постоянно сканировать RxD?

может кто-нибудь помочь в этом деле, или предоставить исходник.... ?

задача: получить 4 байта(AnsiString из C++) с COM и записать их в
массив
тоесть что-то типа такого
char b[10];

b[0]=RxD1;
b[1]=RxD2;
b[2]=RxD3;

b[3]=RxD4;

я уже с месяц парюсь ничего придумать не могу.... помогите пожалуста

maniac.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
phantom
сообщение Jun 14 2005, 07:20
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Фраза "//uart has received a character in UDR", очевидно, означает, что принятый байт находится в регирстре UDR. Следовательно, в подпрограмме обработки прерывания нужно вставить что-то вроде
void uart0_rx_isr(void)
{
b[i++]=UDR; // записываем полученный байт в следующий
//элемент массива
}
а в главной программе что-то вроде
i=0; // переходим на начало массива
while(i<4); // ждем пока примутся 4 байта
// (только если точно знаем, что в данный момент они будут передаваться, иначе тут и зависнем)


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
yung
сообщение Jun 14 2005, 07:41
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 207
Регистрация: 25-03-05
Из: Рязань
Пользователь №: 3 669



А какой смысл висеть в ожидании четырех принятых байт, что, заняться больше нечем? Обычно я делал проверку в самой процедуре прерывания от приема, и когда дождался всего, чего хотел, то уходил куда надо (не подумайте плохого) прямо оттуда (не лучший вариант) , либо вывешиваешь флаг готовности, а этот флаг в основном теле и анализируется. А тот код, который привел - это болванка, вся сгенерированная ICC. UDR читать в ней обязательно, иначе не сбросится флаг прерывания со всеми последующими удовольствиями.
Go to the top of the page
 
+Quote Post
yung
сообщение Jun 14 2005, 07:49
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 207
Регистрация: 25-03-05
Из: Рязань
Пользователь №: 3 669



И еще одна мысль. Чем заниматься длительными рассуждениями, дай четкую постановку - чего хочешь. Если только того, что написал, то укажи параметры UART - скорость, число бит, сколько старт-стоп и частоту твоего кварца. Проще написать готовую прогу,остальное вставишь, чем заниматься демагогией (особо веселые товарищи последнее слово могут поправить)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- mejia   AT90S2313-10PI(пробелема с получением данных по...   Jun 12 2005, 13:57
- - at90   Цитата(mejia @ Jun 12 2005, 16:57)вопрос тако...   Jun 12 2005, 18:18
- - andk   Какой исходник нужен - Асм или С ?   Jun 14 2005, 03:11
- - Laksus   Цитата(mejia @ Jun 12 2005, 16:57)вопрос тако...   Jun 14 2005, 04:27
|- - yung   Я пользуюсь компилятором от ImageCraft, там в Appl...   Jun 14 2005, 04:39
|- - mejia   Цитата(yung @ Jun 14 2005, 10:49)И еще одна м...   Jun 14 2005, 10:45
|- - mejia   а вот сам код, но у меня какая-то странная проблем...   Jun 14 2005, 10:49
|- - mejia   а может кто-нибудь выложить кряк к Image Craft?( у...   Jun 14 2005, 10:54
|- - yung   Сначала о кряке. Он в прицепе(если прицепится).Раб...   Jun 14 2005, 11:24
|- - yung   И что это у тебя за версия ICC, что русских коммен...   Jun 14 2005, 11:38
|- - yung   Там почему-то в двух кусках разные требования. Сде...   Jun 14 2005, 12:41
- - KRS   Если пока не получишь 4 байта из уарта делать ничг...   Jun 14 2005, 07:32
- - mejia   хорошо прогу написал и после урезания жрет 47% of ...   Jun 15 2005, 13:16
- - phantom   Цитатаосталась проблемка не касающаяся кодинга.......   Jun 16 2005, 08:42
- - mejia   Цитата(phantom @ Jun 16 2005, 11:42)Цитатаост...   Jun 16 2005, 09:53


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 13:27
Рейтинг@Mail.ru


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