Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Atmega(Uart)<-RS-422->Кмопьютер
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
hooky-mars
Saluer!
Мне нужно реализовать обмен см сабж. Где найти доку по этому вопросу? И вообще где можно почитать про RS-422? Что он вообще такое? Как происходит синхронизация с ПК? По какому протоколу происходит обмен?
Dog Pawlowa
Цитата(hooky-mars @ May 11 2008, 14:00) *
Saluer!
Мне нужно реализовать обмен см сабж. Где найти доку по этому вопросу? И вообще где можно почитать про RS-422? Что он вообще такое? Как происходит синхронизация с ПК? По какому протоколу происходит обмен?

Что, Гугл перестал работать? Это один из множества физических последовательных интерфейсов.
Любой последовательный протокол спасет.
Ыыш, налетело ленивых студней с Марса.
hooky-mars
Гугл гуд, работает. Но нашол я токо нормальное описание распиновок, да еще кучу чипов Mаxim. Но понимания процесса обмена эта инфа не дает.....
Dog Pawlowa
Цитата(hooky-mars @ May 11 2008, 14:15) *
Гугл гуд, работает. Но нашол я токо нормальное описание распиновок, да еще кучу чипов Mаxim. Но понимания процесса обмена эта инфа не дает.....

А RS232 понимаете? Точно?
Процесс обмена точно такой.
hooky-mars
Т.е. RS-422 идеалогически очень похож на RS-485? Обмен всеравно по типу RS-232? Спасибо! Уж по RS-232 инфы какой надо наваом....
aaarrr
RS422 физически очень похож на RS485 (по сути одно и то же, только соединение точка-точка), а "идеологически" - на RS232.
Dog Pawlowa
Цитата(hooky-mars @ May 11 2008, 14:25) *
Т.е. RS-422 идеалогически очень похож на RS-485? Обмен всеравно по типу RS-232? Спасибо! Уж по RS-232 инфы какой надо наваом....

Я разве говорил о Rs485? - Это полудуплекс.
Если в задании не указано другое, можно трактовать Rs422 как дуплексное одноточечное подключение - т.е. аналог не Rs485, а Rs232. Препод дернется - ссылайтесь на меня smile.gif
TarasG
Вот пример работы с UART (большинство функций взято из Datasheet). Здесь UART настраивается на передачу 11-битных сообщений (старт-бит, 8 бит даннх, бит чётности, стоп-бит). Скорость задаётся при инициализации.
Код
unsigned char ParityBit(unsigned char byte) //функция вычисления бита чётности
{
    unsigned char count = 0;
    for (unsigned char i = 0; i < 8; i++)
        if ((byte >> i) & 0x01)
            count++;
    return count & 0x01;
}

void USART_Init(unsigned int ubrr) //функция инициализации
{
    UBRRH = (unsigned char) (ubrr >> 8);
    UBRRL = (unsigned char) ubrr;

    UCSRB = (1 << RXCIE) | (1 << RXEN) | (1 << TXEN) | (1 << UCSZ2);

    return;
}

void USART_Transmit(unsigned char data) //отправка байта
{
    
    while (!(UCSRA & (1 << UDRE)))
    ;

    UCSRB &= ~(1 << TXB8);
    if (ParityBit(data))
        UCSRB |= (1 << TXB8);

    UDR = data;
    return;
}

unsigned char USART_Receive(void) //получение байта
{
    unsigned char status, resh, resl;

    while (!(UCSRA & (1 << RXC)))
    ;

    status = UCSRA;
    resh = UCSRB;
    resl = UDR;

    if (status & ((1 << FE) | (1 << DOR) | (1 << PE)))
        return -1;
  
    resh = (resh >> 1) & 0x01;

    if (resh != ParityBit(resl))
        return -1;

    return resl;
}

ISR (SIG_UART_RECV) //обработчик прерывания по приходу байта
{
    unsigned char data = USART_Receive();
    //здесь обрабатывается принятый байт
}
hooky-mars
Цитата(Dog Pawlowa @ May 11 2008, 14:36) *
Я разве говорил о Rs485? - Это полудуплекс.
Если в задании не указано другое, можно трактовать Rs422 как дуплексное одноточечное подключение - т.е. аналог не Rs485, а Rs232. Препод дернется - ссылайтесь на меня smile.gif



Больно препод серьезный.... Второй месяц над куросвиком ипусь....... На след неделе начианается сессия, а уменя токо полкурсовика готово не счиатя бумажного оформления..... sad.gif

TO TarasG, Cпасибо smile.gif ..... Теперь мне остальсь перевести под асм
TarasG
Цитата(hooky-mars @ May 11 2008, 14:43) *
TO TarasG, Cпасибо smile.gif ..... Теперь мне остальсь перевести под асм

Не за что. Я сейчас как раз UARTом и занимаюсь wink.gif А в даташите есть аналогичные примеры и на асме smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.