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

 
 
> Как записать биты в массив
Xenom0rph
сообщение Jan 30 2009, 15:59
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 85
Регистрация: 2-10-08
Пользователь №: 40 646



на МК приходят биты, мне их надо записать в массив, так как их достаточно много, не очень удобно, писать один бит в массив как байт, а сделано так, вот хочу переделать но никогда не работал с битами. И не знаю как их правильно туда помещать.
Задача такая на МК пришел поток 0 и 1. Допустим 1010011010101011, сейчас это занимает 16 байт, но ведь как то можно это в 2 байта уложить, вопрос как? Ну и потом это надо вывести по USART на ПК иопять получить 1010011010101011, но уже как 16 байт!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Stanislav_S
сообщение Jan 30 2009, 17:25
Сообщение #2


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(Xenom0rph @ Jan 30 2009, 20:59) *
на МК приходят биты, мне их надо записать в массив, так как их достаточно много, не очень удобно, писать один бит в массив как байт, а сделано так, вот хочу переделать но никогда не работал с битами. И не знаю как их правильно туда помещать.
Задача такая на МК пришел поток 0 и 1. Допустим 1010011010101011, сейчас это занимает 16 байт, но ведь как то можно это в 2 байта уложить, вопрос как? Ну и потом это надо вывести по USART на ПК иопять получить 1010011010101011, но уже как 16 байт!

Ну например можно так с помощью битового поля, так упаковывается один байт:
Код
union input_data
{
  unsigned char data;
  struct
  {
    unsigned char in0:1;
    unsigned char in1:1;
    unsigned char in2:1;
    unsigned char in3:1;
    unsigned char in4:1;
    unsigned char in5:1;
    unsigned char in6:1;
    unsigned char in7:1;
  }byte;
};


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post



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

 


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


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