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

 
 
> Полудуплексный обмен по USART, туплю ?!?
Hellper
сообщение Jan 19 2009, 20:57
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 13-08-07
Из: Санкт-Петербург
Пользователь №: 29 745



Полудуплексный обмен. Два МК. Приемники/передатчики обоих МК соединены в одну линию.
Туплю. Как отключить приемник во время передачи байта информации?

Код
#define CLEARBIT(ADDRESS,BIT) (ADDRESS &= ~(1<<BIT))
#define SETBIT(ADDRESS,BIT) (ADDRESS |= (1<<BIT))

void tx_disable( void )
{
    CLEARBIT(UCSR0B, TXEN);
}
void tx_enable( void )
{
    SETBIT(UCSR0B, TXEN);
}

void rx_disable( void )
{
    CLEARBIT(UCSR0B, RXEN);
//    UCSR0B &= ~(1 << RXEN0);
}

void rx_enable( void )
{
    SETBIT(UCSR0B, RXEN);
//    UCSR0B |= (1 << RXEN0);
}

void byte_to(uint8_t byte)
{
    rx_disable();
    tx_enable();

    UDR0 = byte;
//    while (!(UCSR0A&(1 << UDRE0)))
//;
    while (!(UCSR0A&(1 << TXC0)))
;

    tx_disable();
    rx_enable();          
}


Этот код не работает !
Прошу вправить мне мозг!
smile3009.gif

Сообщение отредактировал Hellper - Jan 19 2009, 20:59


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SysRq
сообщение Jan 21 2009, 22:02
Сообщение #2


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(Hellper @ Jan 20 2009, 16:02) *
интересно что будет ?
В UDR1 посыпется весь мусор, который принимался в UDR0, без фильтрации.

Покажите весь код работы с USART... может у вас прерывание по TXC разрешено, но реализовано, и т.п. Гадать так долго будем.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Hellper   Полудуплексный обмен по USART   Jan 19 2009, 20:57
- - =GM=   Цитата(Hellper @ Jan 19 2009, 20:57) Как ...   Jan 19 2009, 23:52
- - Александр Куличок   ЦитатаКак отключить приемник во время передачи бай...   Jan 20 2009, 00:27
- - Hellper   Цитата(=GM= @ Jan 20 2009, 02:52) Надо бы...   Jan 20 2009, 06:55
|- - _Pasha   Цитата(Hellper @ Jan 20 2009, 09:55) Не р...   Jan 20 2009, 10:02
|- - Палыч   Цитата(_Pasha @ Jan 20 2009, 13:02) У Вас...   Jan 20 2009, 10:09
- - Maik-vs   Цитата(Hellper @ Jan 19 2009, 23:57) Полу...   Jan 20 2009, 07:49
- - GDI   А это дублирующие строки закоментированы.   Jan 20 2009, 09:42
- - Палыч   Цитата(Hellper @ Jan 19 2009, 23:57) Этот...   Jan 20 2009, 09:51
|- - _Pasha   Цитата(Палыч @ Jan 20 2009, 12:51) Не дож...   Jan 20 2009, 10:25
|- - Палыч   Цитата(_Pasha @ Jan 20 2009, 13:25) Так о...   Jan 20 2009, 10:33
- - Hellper   Цитата(_Pasha @ Jan 20 2009, 13:02) На ос...   Jan 20 2009, 13:02
|- - Палыч   Цитата(Hellper @ Jan 20 2009, 16:02) Добе...   Jan 20 2009, 14:51
- - Hellper   Кодvoid Byte_to(uint8_t byte) { rx_disab...   Jan 20 2009, 18:35
- - SysRq   А вы вот это вотКодif ( ( status & ...   Jan 21 2009, 18:57
- - Hellper   Цитата(SysRq @ Jan 21 2009, 21:57) А вы в...   Jan 21 2009, 20:18
- - Hellper   Цитата(SysRq @ Jan 22 2009, 01:02) Покажи...   Jan 22 2009, 07:22
|- - Палыч   Бегло пробежал взглядом программы... В Buffer_to_c...   Jan 22 2009, 09:24
- - Hellper   Цитата(Палыч @ Jan 22 2009, 12:24) Бегло ...   Jan 22 2009, 09:35
- - SysRq   Цитата(Палыч @ Jan 22 2009, 12:24) Это не...   Jan 23 2009, 21:00


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

 


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


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