|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.03.2011, 23:32 | #1 |
Регистрация: 31.05.2010
Сообщений: 7
|
Сложить биты в байт и разложить назад
С помощью форума нашел пример как из массива бит сделать байт
Код:
________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 30.03.2011 в 23:41. |
30.03.2011, 23:49 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
давай так - напишите, что у Вас есть и что Вы хотите получить...
p.s. а вообще из одного байта получить массив бит не просто, А ОЧЕНЬ ПРОСТО: Код:
|
30.03.2011, 23:51 | #3 |
Регистрация: 31.05.2010
Сообщений: 7
|
Афигеть, теперь скорость передачи данных повысится до 2кб\с . Раньше я передавал каждый бит отдельным пакетом. Более детальный код.
[CODE] begin if pinb4_bit=0 then b[i] :=1 else b[i] :=0; if i=7 then begin // сдесь мы принимаем биты и слаживаем их в байты For I := 0 to 7 do d[a] := d[a] or (b[i]); d[a]:=d[a] shl 1; End; inc(a); i:=-1; end; inc(i); tcnt0:=0; TOIE0_bit :=1; tcnt0:=0; end; procedure peredacha; org $012; begin TOIE0_bit:=0; k:=0; k:=a; a:=0; for a:=0 to k do begin b[i]:= d[a] ; \\ сдесь принимаем байты и разлаживаем на биты for i:=7 downto 0 do begin b[i]:= (b[i] and 1); if b[i]=%1 then UART1_Write_text ('1'); if b[i]=%0 then UART1_Write_text ('0'); \\ выводим на экран принятое b[i]:= b[i] shr 1; End; end; TOIE0_bit:=0; UART1_Write(10); UART1_Write(13); end; [/СODE] Почемуто после разложения байт=бит на экране одни 000. Гдето есть ошибка. Последний раз редактировалось Oleg1988; 31.03.2011 в 00:31. Причина: pзабы |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Биты | Leshiy1 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 20.03.2011 16:21 |
Найти байт максимальным количестов единиц и байт с максмальным количеством нулей и разность (ассемблер) | Beren42 | Помощь студентам | 0 | 15.12.2010 20:32 |
Зеркально поменять местами биты. Си. | Аnтоn | Помощь студентам | 0 | 09.12.2010 16:22 |
Байты и биты | Karp_13 | Общие вопросы Delphi | 9 | 10.11.2009 00:33 |
Сбросить 3,5,7 биты | veter_s_morya | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 11 | 20.05.2008 09:43 |