транзисторы

125310, Москва, ст.м. Сходненская, район Митино, Пятницкое шоссе, влад. 16-18, МИТИНСКИЙ РАДИОРЫНОК, пав 15-6

2Т312Б

2Т312Б

Описание и параметры

Структура 2Т312Б

Структура: NPN

Корпус

Корпус: КТЮ-3-1

Цена 2Т312Б

купить 2Т312Б можно по цене 46.5

Сообщение с конференции

//-----прием строки через USART----------------------------------------------
//---------------------------------------------------------------------------
unsigned char reception(unsigned char *text)
{
/*-----описание структуры принемаемого фрейма--------------------------------
//---------------------------------------------------------------------------
1-й байт | - признак начала фрейма
2-й байт адрес девайса (если адрес равен 0, останавливаем таймеры или запускаем)
3-й байт код команды

с 4-его байта тело фрейма
n-й байт ^ - признак конца текста в фрейме
n+1-й байт контрольная сумма
n+2-й байт \ - конец фрейма
//-------------------------------------------------------------------------*/

//-----локальные переменные--------------------------------------------------
unsigned char i,j; //счетчики
unsigned char command; //команда

if(rx_buffer[1]!=ADR) //если адреса не совпали
return 0; //выходим с ложным результатом

j=1; //предположим, что конец фрейма не принят

for(i=4;i<MAX;i++) //определяем наличие конца фрейма
if((rx_buffer[i]=='\\')&& //если конец фрейма обнаружен
(rx_buffer[i-1]=='0')&& //(игнорируем контрольную сумму)
(rx_buffer[i-2]=='^'))
{//if
j=0; //устанавливаем признак принятия конца фрейма
rx_buffer[i]=' '; //удаляем признак конца фрейма для исключения
}//if //повторной обработки

if(j) //если конец фрейма не был принят
return 0; //выходим с ложным результатом

if(rx_buffer[2]==0) //если код принятой команды равен 0
return 0; //выходим с ложным результатом

command=rx_buffer[2]; //копируем код команды

for(i=3,j=0;i<MAX;i++,j++) //копируем сообщение
if(rx_buffer[i]!='^') //если не достигнут конец строки
{
if(rx_buffer[i]!='\\') //если символ не служебный
text[j]=rx_buffer[i]; //копируем его
else //иначе если символ служебный
text[j]=rx_buffer[++i]+127;//декодируем его
}
else //если достигнут конец строки
for(;i<MAX;i++,j++) //заполняем массив нулями
text[j]=0; //до конца

for(i=0;i<MAX;i++) //очищаем буфер приемника
rx_buffer[i]=0;

return command; //возвращаем код команды
}
/*-------------------------------------------------------------------------*/ , полевой транзистор корпус КТ-282, кт827а, кт839а описание