Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Этот макос возвращает бит с запрошенным номером. GET_BIT( 0 ) возвратит самый первый бит из массива бит, а GET_BIT( 255 ) возвратит последний бит из 256.
Отправлено
VasilyS
(80.92.96.25)
14 июня 2010, г. 12:20
В ответ на:
Ну это же просто: тебе надо найти бит 0...255 в массиве char Array[32]. Адресация массива - байтовая, поэтому нужный бит находится в байте с номером Array[n/8], или, чтобы избежать деления запишем так: (Array[(n)>>3 ]). В этом байте интересующий тебя бит находится в младшей триаде его номера, поэтому проверяю & 0x07. Ты проверь работу макроса на нескольких примерах в эмуляторе. Тут чюдес нет.
отправлено
VasilyS
14 июня 2010, г. 12:16
Составить ответ
|
Вернуться на конференцию
Ответы
Кстати поправка для непрерывного потока бит.
-
VasilyS
(14.06.2010, 12:43:53
80.92.96.25
, 128 байт)
В общем, вот так будет для заполнения байт массива сдвигов влево >>
-
VasilyS
(14.06.2010, 12:49:43
80.92.96.25
, 518 байт)
Подведём итог.... Тестовый исходник получился такой
-
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 изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 12:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru