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

 
 
> mega8 ...USART...люди добжи поможите))
vesel
сообщение Apr 21 2008, 02:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 14-04-08
Из: Saint-Petersburg
Пользователь №: 36 741



начал с нее родимой (мега8) знакомится с атмегой ....
суть проблемы:
инитил порт и как в апах написано и из чужих примеров... не хочет принимать ничего и все туть ((
передавать передает а принимать не хочет ....
USART0_Init();
for(;;)
{

if (USART0_Receive()==0) PORTC &=~_BV(PD5); // это я для проверки ...
delay_ms(300);
if (USART0_Receive()!=0) PORTC |=_BV(PD5);
delay_ms(300);
USART0_Transmit(USART0_Receive()); ///ето из примера ...хотел попробовать ...
}
инициализацию пробовал и из примеров и CodeVisionвскую из мастера ...нифига...
тупо заставлял слать в ББ(большого брата - комп) символы ...все ок...
а принимать ничего не хочет...хотя осциллом смотрю что на RX вход сигналы сыплются ((
где грабли ? может лыжи не едуть ?

пробовал и так : if UDR == 0 ....дрыгнуть лапкой\диодом....дрыгает гат...нет там ничего ...(((
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vesel
сообщение Apr 21 2008, 21:24
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 14-04-08
Из: Saint-Petersburg
Пользователь №: 36 741



сейчас стоит как мастер прописал
UBRRL=0x4D;
UBRRH=0x00;
UCSRB=((1<<RXEN)|(1<<TXEN)); //enable rx and tx
UCSRC=0x86;

я для проверки на передачу так
if(USART0_Receive() != 10) UDR=0;
USART0_Transmit(kaka);
сыплет честно в порт ...при попытке изменить RL данные искажаются

если для проверки пишу так //if (USART0_Receive()==0) PORTC &=~_BV(PD5);
//delay_ms(300);
//if (USART0_Receive()!=0) PORTC |=_BV(PD5);
//delay_ms(300);

то диодик моргает ....
куды крестьянину подацца?((
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 21 2008, 21:31
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(vesel @ Apr 21 2008, 23:24) *
то диодик моргает ....
куды крестьянину подацца?((

Дык, а в чем проблема то? Раз моргает значит принимается что-то?
Отправьте то, что принимается назад, посмотрите в чем дело...

Вы бы код USART0_Receive() привели.

А в чем смысл этой проверки?
Цитата
if UDR == 0

Ведь если читать нечего, из UDR будут читаться нули..
Go to the top of the page
 
+Quote Post



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

 


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


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