"Выдрать" из 14 бит значение
26.08.2013, 20:31
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: "Выдрать" из 14 бит значение
Спасибо!
При
LS = 0x1C
MS = 0x40
итоговое (dec) 28 - верно ли?
|
|
|
|
26.08.2013, 20:36
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: "Выдрать" из 14 бит значение
по количеству в канале - совпадает, спасибо всем
|
|
|
|
26.08.2013, 20:36
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: "Выдрать" из 14 бит значение
Сообщение от whoim
|
LS = 0x1C
MS = 0x40
итоговое (dec) 28 - верно ли?
|
0x401C = 16412
0x1C вероятно старший
|
|
|
|
26.08.2013, 20:37
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: "Выдрать" из 14 бит значение
omercury,
|
|
|
|
26.08.2013, 20:51
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,009
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
|
Re: "Выдрать" из 14 бит значение
whoim,
Length - длина, Data - данные, Message - сообщение, т.е. длина пакета данных, мл. и ст. байты, до 16кбайт, как указал omercury.
|
|
|
|
26.08.2013, 20:52
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: "Выдрать" из 14 бит значение
jump, а, воткнулся. Теоретическое максимальное значение данных пакета.
|
|
|
|
26.08.2013, 21:29
|
|
|
Гражданин KAZUS.RUN
Регистрация: 29.12.2012
Адрес: Питер
Сообщений: 980
Сказал спасибо: 131
Сказали Спасибо 230 раз(а) в 157 сообщении(ях)
|
Re: "Выдрать" из 14 бит значение
2omercury, тз внимательнее читайте. Биты в 0х40 старше 0х3f отбрасываются.
0x1C - младший
Последний раз редактировалось Wiza_; 26.08.2013 в 21:32.
|
|
|
|
26.08.2013, 21:33
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: "Выдрать" из 14 бит значение
Сообщение от whoim
|
LS = 0x1C
MS = 0x40
итоговое (dec) 28 - верно ли?
|
28 верно только для байта 1C.
MS = Most Significant (самый значимый, старший)
LS = Least Significant (наименее значимый, младший)
Таким образом, полное значение = ( (MS & 0x3f)‹‹8) + LS;
__________________
There's always more than one way to skin a cat.
Последний раз редактировалось tempora; 26.08.2013 в 21:37.
|
|
|
|
Сказали "Спасибо" tempora
|
|
|
26.08.2013, 21:34
|
|
|
Гражданин KAZUS.RUN
Регистрация: 29.12.2012
Адрес: Питер
Сообщений: 980
Сказал спасибо: 131
Сказали Спасибо 230 раз(а) в 157 сообщении(ях)
|
Re: "Выдрать" из 14 бит значение
Сообщение от tempora
|
|
Таким образом, полное значение = (MS‹‹ 8 ) + LS;
|
Старшие биты тоже отсечь надо у MS
Последний вариант - правильный
Последний раз редактировалось Wiza_; 26.08.2013 в 21:40.
|
|
|
|
26.08.2013, 21:56
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,618
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: "Выдрать" из 14 бит значение
Сообщение от tempora
|
Таким образом, полное значение = ((MS & 0x3f)‹‹ + LS;
|
ну так и есть, RX_dmh_size := (RXBuffer[2] and $3f) shl 8 + RXBuffer[1];
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:30.
|
|