Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
В общем, вот так будет для заполнения байт массива сдвигов влево >>
Отправлено
VasilyS
(80.92.96.25)
14 июня 2010, г. 12:49
В ответ на:
Кстати поправка для непрерывного потока бит.
отправлено
VasilyS
14 июня 2010, г. 12:43
#define GET_BIT( n ) (((Array[(n)>>3 ]) & (1<<( 7-((n)&0x07))))? \
( 1 ) : ( 0 ) )
char x = 0, sovpadenie = 0;
do{
if( ( (GET_BIT(x) << 7) == (Mask & 0x80) ) &&
( (GET_BIT(x+1) << 6) == (Mask & 0x40) ) &&
.... и так весь байт
( (GET_BIT(x+7) << 0) == (Mask & 0x01) ) )
{
sovpadenie = 1;
break; //Есть совпадение начиная с бита x !!!
}
x++;
}wbile( x < 249)
if( sovpadenie != 0) ..........
Составить ответ
|
Вернуться на конференцию
Ответы
Подведём итог.... Тестовый исходник получился такой
-
ZoltriX
(14.06.2010, 13:39:15
78.40.231.89
, 922 байт)
Алгоритм самый что ни на есть медленный, это правда.
-
VasilyS
(14.06.2010, 14:15:24
80.92.96.25
,
пустое
)
Ага, попробуй компильнуть. Только после while(x<249) точку с запятой поставь. И массив объяви >>
-
VasilyS
(14.06.2010, 14:14:11
80.92.96.25
, 289 байт)
А как тебе варианты что PaulS и mandigit чуть выше предложили. Выглядят компактней по коду
-
ZoltriX
(14.06.2010, 16:02:51
78.40.231.89
,
пустое
)
То, что я вижу - имхо неработоспособно.
-
VasilyS
(14.06.2010, 20:25:59
80.92.96.25
,
пустое
)
А вот так - попробуй. Но - медленно, тоже медленно.
-
VasilyS
(14.06.2010, 20:41:42
80.92.96.25
, 381 байт)
Указатель pBuff конечно, до использования надо натравить на начало массива Array[32]
-
VasilyS
(14.06.2010, 21:46:17
80.92.96.25
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
прибавьте тройку к двум:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru