[an error occurred while processing this directive]
Вот
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено flashman 23 октября 2006 г. 17:47
В ответ на: А можете дать кода побольше? То что у Вас в этом файле до этого фрагмента? отправлено Mebius 23 октября 2006 г. 17:30

void UART_Int() interrupt 4
{
if (TI == 1)
{
TI = 0;
if (cntSendByte != 0)
{
switch (outSymbolSelect)
{
case 0: SendByte(outStatus, 0); break;
case 1: SendByte(outSymbol, NStim); break;
}
}
else UART_Contact = 0;
}
else
{RI = 0; UART_Decoder(SBUF);}
}

void UART_Decoder(unsigned char InByte)
{
switch (InByte)
{
case 5: UART_Contact = 1; SendByte(outStatus, 0); break;
case 10: PushStSt = 1; break;
case 42: PushStSt = 0; break;
}
}
void SendByte(unsigned char a, b)
{
switch (a)
{
case outSymbol:
{
outSymbolSelect = 1;
switch (cntSendByte)
{
case 0: cntSendByte = 2; UART_Contact = 1; SBUF = a; break;
case 2: cntSendByte--; SBUF = b; break;
case 1: cntSendByte = 0; SBUF = 0x60; break;
}
break;
case outStatus:
{
outSymbolSelect = 0;
switch (cntSendByte)
{
case 0: cntSendByte = 4; UART_Contact = 1; SBUF = a; break;
case 4: cntSendByte--; SBUF = StatusSys[0]; break;
case 3: cntSendByte--; SBUF = StatusSys[1]; break;
case 2: cntSendByte--; SBUF = StatusSys[2]; break;
case 1: cntSendByte = 0; SBUF = 0x60; break;
}
break;
}
}
По прерыванию RI я передаю значение буфера SBUF в ф-цию void UART_Decoder(unsigned char InByte). Если это 5, то передаю значения в ф-цию void SendByte(unsigned char a, b), которая отправляет некоторые значения в UART.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание