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

 
 
 
Reply to this topicStart new topic
> Help! Proteus+COMPIM+0модем нет приема :(
asf
сообщение Aug 31 2006, 13:57
Сообщение #1


Участник
*

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



Есть компонент работы с СОМ портом, загружаю уже даже example по COMPIM , подключаю к СОМу компа ноут с 0-модемным кабелем, начинаю тыкать кнопки на ноуте в HyperTerminal, RXD у COMPIM мигает, но у контроллера нихрена не возникает прерывание!
инициализировал так:
UCSRA = _BV(U2X); /* improves baud rate error @ F_CPU = 1 MHz */
UCSRB = _BV(TXEN)|_BV(RXEN)|_BV(RXCIE); /* tx/rx enable, rx complete intr */
UBRRL = (F_CPU / (8 * 9600UL)) - 1; /* 9600 Bd */
sei(); /* enable interrupts */

а инфу из кома жду уже даже так: if (UCSRA & (1<В чем может быть засада? (при этом TX работает на выход)

Два Hyperterminal друг с другом дружат прекрасно sad.gif

Что может быть? blink.gif
Go to the top of the page
 
+Quote Post
asf
сообщение Aug 31 2006, 15:57
Сообщение #2


Участник
*

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



Мужики! Точу гранит науки blink.gif по этой теме в продолжение:

Почему на чтение оно работает:
while (!(UCSRA & (1<<RXC)))
{
}
putchr(UDR);

а как прерывание нет:
CONTROL_DDR = _BV(CLOCKOUT) | _BV(FLASH);
UCSRA = _BV(U2X); /* improves baud rate error @ F_CPU = 1 MHz */
UCSRB = _BV(TXEN)|_BV(RXEN)|_BV(RXCIE); /* tx/rx enable, rx complete intr */
UBRRL = (F_CPU / (8 * 9600UL)) - 1; /* 9600 Bd */
sei(); /* enable interrupts */


ISR(USART_RXC_vect)
{
uint8_t c;

c = UDR;
if (bit_is_clear(UCSRA,FE))
{
rxbuff = c;
intflags.rx_int = 1;
}
}

чЁ за хня?
Go to the top of the page
 
+Quote Post
asf
сообщение Sep 1 2006, 11:15
Сообщение #3


Участник
*

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



В общем все решилось версией 6.9 SP5 biggrin.gif
Go to the top of the page
 
+Quote Post
upc2
сообщение Sep 5 2006, 11:43
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



Протеус реально открывает СОМ порт.Если еще кто-то пытается открыть этот порт,то возникает конфликт.Поэтому для связи Протеуса с приложением на этом же компьютере надо брать разные порты. СОМ1 и СОМ2, и соединить их нуль модемным кабелем.
Проблем не будет.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:29
Рейтинг@Mail.ru


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