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

 
 
> USART, чудеса
amaora
сообщение Jan 24 2009, 11:50
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778



Написал недавно простенький код для работа с USART, почти копия примеров doc2486.pdf. Все конечно заработало, но на следующий день, запускаю программу со стороны ПК - ответа МК (ATmega8) нет. Плата и подключение не трогались. Беру другую прошивку (в стабильности работы которой я ещё сомневался, там используются прерывания и FIFO), со второй попытки она работает. Возвращаю предыдущую прошивку, теперь работает и она, что это? и так уже 4 дня. Один раз ещё помогло вот это wink.gif
$ cat /dev/urandom > /dev/ttyS0
$ make reset (reset через LPT)

код,
CODE

void uart_open( uint8_t scale )
{
UBRRH = 0;
UBRRL = scale;
UCSRA = (1<<1);
UCSRB = (1<<4) | (1<<3);
UCSRC = (1<<7) | (1<<2) | (1<<1);

DDRD |= (1<<1);
DDRD &= ~(1<<0);
PORTD |= (1<0);
}

void uart_send( uint8_t data )
{
while ( ( UCSRA & (1<<5) ) == 0 ) ;
UDR = data;
}

uint8_t uart_recv()
{
while ( ( UCSRA & (1<<7) ) == 0 ) ;
return UDR;
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
amaora
сообщение Jan 24 2009, 19:57
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778



Цитата
Чем Вам символические имена не нравятся?

Да я бы не сказал, что не нравятся, мне безразлично, могу и на символические имена перейти.

Цитата
А как насчет электрической стороны rs232? Может у Вас опторазвязка, фронты не годятся?

MAX232 там.

CODE

...
val = uart_recv();

switch ( val )
{
case 0x00:
break;

case 0x11:
LED( 1, ON );
break;

case 0x12:
LED( 1, OFF );
break;
...


Если слать в порт 0x11 - светодиод не включается, если 'cat /dev/urandom' то иногда включается. Доходит ли оно посмотреть не чем, могу сказать только, что на RXD выводе МК наблюдается среднее значение (между нулём и питанием) во время непрерывной посылки случайных значений.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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