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

 
 
> прием по UARt
Evgenia
сообщение Aug 20 2008, 13:48
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 20-08-08
Пользователь №: 39 714



начала программировать сс 2430, помогите плиз с написанием программы по приему по UARTу данных, состоящих из нескольких байт, в моем случае 4 байта.

Сообщение отредактировал Evgenia - Aug 20 2008, 13:49
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Evgenia
сообщение Aug 22 2008, 07:32
Сообщение #2





Группа: Новичок
Сообщений: 4
Регистрация: 20-08-08
Пользователь №: 39 714



помогите с описанием прерывания по приему байтов по UARt!!!! как это реализовать программно в С???
Go to the top of the page
 
+Quote Post
Lotor
сообщение Aug 27 2008, 07:44
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Идея такая - настроить прерывания по приему байта и реализовать буфер, при накоплении которого будете его обрабатывать. В кейле будет примерно следующее
Код
#define UART_BUF_SIZE        4

unsigned char UART_BUF[UART_BUF_SIZE];
bit receive_flag=0;

void Input_Serial_Port() interrupt 4
{
    unsigned char temp;
        if(RI) // Если произошел прием символа
        {
            if(!receive_flag)
            {
                for(temp=0;temp<UART_BUF_SIZE-1;temp++) // Сдвигаем буфер влево всегда, организуем очередь
                    {
                        UART_BUF[temp]=UART_BUF[temp+1];
                    }                

                    UART_BUF[UART_BUF_SIZE-1]=SBUF;

                if (UART_BUF[0]=='@') // Допустим @ указывает на нужную посылку,
                    receive_flag=1; // то устанавливаем  флаг приема, который анализируется программой

            }
            
            RI=0;
        }
}


Спрашивайте, что конкретно не понятно. =)


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post



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

 


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


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