<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[CANNY forum &mdash; Что такое маска?]]></title>
	<link rel="self" href="https://forum.canny.ru/extern.php?action=feed&amp;tid=1053&amp;type=atom" />
	<updated>2022-09-11T12:53:08Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.canny.ru/viewtopic.php?id=1053</id>
		<entry>
			<title type="html"><![CDATA[Re: Что такое маска?]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=10520#p10520" />
			<content type="html"><![CDATA[<p>Битовые маски используются для побитовых манипуляций со значениями. Таким образом, на начальном этапе их освоения, следует пользоваться двоичным представлением чисел.</p><div class="codebox"><pre><code>0x0405 = 0b0000010000000101
0xFFFF = 0b1111111111111111</code></pre></div><p>Если в соответствующем разряде битовой маски отбора установлено значение &quot;1&quot; это значит, что пришедшее сообщение будет сравниваться со значением отбора по этому биту, если установлено значение &quot;0&quot;, то не будет.</p><p>Если маска 0xFFFF, это значит что будут сравниваться каждый бит значения, и в отбор попадут сообщения, у которых CAN IDL строго равен 0x0405</p><p>Если бы маска была, скажем 0xFFF0</p><div class="codebox"><pre><code>0x0405 = 0b0000010000000101
0xFFF0 = 0b1111111111110000
     ^                 ^^^^</code></pre></div><p>То в отбор попали бы сообщения c CAN IDL равным 0x040x где x = любое число, например 0x0400, 0x0401, 0x0402 ..., 0x040F. Так как сравнение происходило бы лишь по старшим 12и разрядам двоичного представления числа (или по старшим трем разрядам шестнадцатеричного)</p><p>Подробнее о битовых масках можно узнать в учебных материалах по различным направлениям вычислительной техники и программированию.</p><p>Примеры работы с драйвером шлюза CAN есть в документации: <a href="https://canny.ru/docs/c72duo/cangateway/#sec--c72duo-cangateway-primery" rel="noopener noreferrer" target="_blank">https://canny.ru/docs/c72duo/cangateway … ay-primery</a></p><p>И на форуме, например здесь: <a href="https://forum.canny.ru/viewtopic.php?id=1020" rel="noopener noreferrer" target="_blank">https://forum.canny.ru/viewtopic.php?id=1020</a><br /></p><div class="quotebox"><blockquote><p>Вам огромное уважение что развиваете такой проект, очень нужная вещь с современным машинами, но не критики ради, а как пожелание</p></blockquote></div><p>Спасибо за лестный отзыв! Мы постоянно совершенствуем наши продукты и стремимся учитывать пожелания пользователей по мере сил.</p><div class="quotebox"><blockquote><p>если не сложно, так же на пальцах объясните зачем вы упаковали (возможно технически по другому нельзя) все манипуляции с данными в пакетах по парам</p></blockquote></div><p>Упаковка пары 8-битных значений в одно 16-битное является обычной практикой на 16-битных машинах, особенно при ограниченном объеме памяти.</p><p>Благо, что как объединение так и разделение таких значений на байты довольно тривиально:</p><p><a href="https://forum.canny.ru/viewtopic.php?id=745" rel="noopener noreferrer" target="_blank">https://forum.canny.ru/viewtopic.php?id=745</a></p><p><a href="https://forum.canny.ru/viewtopic.php?id=726" rel="noopener noreferrer" target="_blank">https://forum.canny.ru/viewtopic.php?id=726</a></p><p><a href="https://forum.canny.ru/viewtopic.php?pid=10197#p10197" rel="noopener noreferrer" target="_blank">https://forum.canny.ru/viewtopic.php?pid=10197#p10197</a></p>]]></content>
			<author>
				<name><![CDATA[Константин, CANNY]]></name>
				<uri>https://forum.canny.ru/profile.php?id=2</uri>
			</author>
			<updated>2022-09-11T12:53:08Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=10520#p10520</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Что такое маска?]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=10519#p10519" />
			<content type="html"><![CDATA[<p>Поясните на пальцах что такое маска. я раз 150 прочитал описание этого термина и в какие то моменты я даже думал, что уловил смысл, но он каждый раз от меня ускользал как белый кролик. </p><p>настраиваю фильтр на базе canny 7 duo.</p><p><strong>0x0405 - отбор-значение CAN IDL</strong> ( задал что из шлюза забираются все пакеты с ID 405 для дальнейших манипуляций)</p><p><strong>0xFFFF - отбор-маска CAN IDL</strong> (вот что делает эта маска и что получиться если я в ней поменяю на 0x0000, 0x1234 или так далее?)</p><p>дальше пошла конкретика, мне нужно байт D2, при условии что там 41 сменить на 53, все остальное в пакете оставить как есть. как я дальше правильно задаю сочлененный параметр D3:D2?</p><p><strong>0х0041 - отбор-значение CAN D3:D2</strong> (как правильно писать что бы он внимание не обращал на D3, а смотрел только D2)</p><p>и далее опять маску надо задать. как мне подсказывает логика, именно в ней я задаю что проходит дальше для изменения, а что стопориться, если я не продолжу ввод условий, например для замены.</p><p><strong>0xFFFF - отбор-маска CAN D3:D2</strong> (вот опять эта маска, что дает изменение символов FFFF, какой ее смысл?) </p><br /><p>P.s. Вам огромное уважение что развиваете такой проект, очень нужная вещь с современным машинами, но не критики ради, а как пожелание - сделайте инструкции не только технически грамотным языком, что бы перед людьми не стыдно было, но и для дураков на пальцах, которые зарядку кроны проверяют языком. Все же их много и наверное на них рассчитан проект... <br />а если в программе при наведении на элементы диаграммы будет выскакивать не та же информация, которую сократили в названии элемента, а простое объяснение этого элемента: &quot;Читаем ID сообщения CAN1&quot; вместо &quot;Регистр принятого сообщения CAN IDL&quot;, то цены ей не будет.</p><p>P.s.s если не сложно, так же на пальцах объясните зачем вы упаковали (возможно технически по другому нельзя) все манипуляции с данными в пакетах по парам, это настолько усложняет конструкцию работы с вашими отличными устройствами. </p><p>Спасибо.</p>]]></content>
			<author>
				<name><![CDATA[single_player]]></name>
				<uri>https://forum.canny.ru/profile.php?id=989</uri>
			</author>
			<updated>2022-09-10T13:47:06Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=10519#p10519</id>
		</entry>
</feed>
