<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Учебный курс. Как работать с битами. Макроопределения</title>
		<description>Discuss Учебный курс. Как работать с битами. Макроопределения</description>
		<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html</link>
		<lastBuildDate>Wed, 08 Apr 2026 16:03:56 +0000</lastBuildDate>
		<generator>JComments</generator>
		<atom:link href="https://chipenable.ru/index.php/component/jcomments/feed/com_k2/4.html" rel="self" type="application/rss+xml" />
		<item>
			<title>Виталий says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-5069</link>
			<description><![CDATA[Так, Ваш блог не корректно различает спецсимволы, так что придется писать текстом: Например (...1 "сдвиг влево" 3) сдвигает первый бит на 3 бита влево, а значит устанавливает !!! 4-ый бит, а не 3-ий. А у Вас везде ошибки, то правильно напишете, то неправильно. Прошу пересмотреть.]]></description>
			<dc:creator>Виталий</dc:creator>
			<pubDate>Sun, 30 Jul 2017 07:58:26 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-5069</guid>
		</item>
		<item>
			<title>Виталий says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-5065</link>
			<description><![CDATA[Уважаемый Pashgan, прошу прощения, что вмешиваюсь, не стал вычитывать все комментарии, но раз это еще не исправлено, то думаю, что и ошибка эта еще не замечена. У Вас везде по разному написано целевое число разряда битов сдвига - в одних случаях правильно, а в других нет. Например (...tmp]]></description>
			<dc:creator>Виталий</dc:creator>
			<pubDate>Sun, 30 Jul 2017 07:51:28 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-5065</guid>
		</item>
		<item>
			<title>Arthur says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4873</link>
			<description><![CDATA[Разве так?: " Как проверить установлен ли бит в переменной? Нужно обнулить все биты, кроме проверочного, а потом сравнить полученное значение с нулем if ((tmp & (1]]></description>
			<dc:creator>Arthur</dc:creator>
			<pubDate>Tue, 02 Aug 2016 22:07:17 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4873</guid>
		</item>
		<item>
			<title>LexxИК says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4813</link>
			<description><![CDATA[Здравствуйте! CVAVR 2.05. Смотрю на подгружаемый файл mega8535_bits.h : /* PORTA - Port A Data Register */ #define PORTA0 0 // Port A Data Register bit 0 #define PORTA1 1 // Port A Data Register bit 1 #define PORTA2 2 // Port A Data Register bit 2 #define PORTA3 3 // Port A Data Register bit 3 #define PORTA4 4 // Port A Data Register bit 4 #define PORTA5 5 // Port A Data Register bit 5 #define PORTA6 6 // Port A Data Register bit 6 #define PORTA7 7 // Port A Data Register bit 7 Когда мы будем работать просто запишем PORTA0, но ведь в коде выше не пишется что в PORTA0 это сокращённая запись именно для PORTA или в CVAVR где-то ещё определяется или это фишка самой программы??]]></description>
			<dc:creator>LexxИК</dc:creator>
			<pubDate>Tue, 17 May 2016 07:35:35 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4813</guid>
		</item>
		<item>
			<title>Леонардо says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4683</link>
			<description><![CDATA[У меня вопрос по работе с битами и регистрами. Допустим есть строка REGISTR |= ABC | DEF;[code/] - здесь мы используем побитовое ИЛИ, т.е. 1 и 1 даёт 1, 1 и 0 даёт 1, 0 и 0 даёт 0. Чтобы выставить данные биты в единицу. Теперь вопрос - откуда в этих битах берётся 1, если они изначально равны 0 в начале программы?]]></description>
			<dc:creator>Леонардо</dc:creator>
			<pubDate>Mon, 30 Nov 2015 16:28:40 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4683</guid>
		</item>
		<item>
			<title>mash says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4468</link>
			<description><![CDATA[Можно мне простой пример на ИАР Си для STM8L101 - чем заменить: if (CARRY) ?]]></description>
			<dc:creator>mash</dc:creator>
			<pubDate>Sun, 08 Mar 2015 16:52:36 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4468</guid>
		</item>
		<item>
			<title>jendos says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4467</link>
			<description><![CDATA[А что мешает прочитать CC регистр и проверить флаг переноса?]]></description>
			<dc:creator>jendos</dc:creator>
			<pubDate>Sat, 07 Mar 2015 20:08:15 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4467</guid>
		</item>
		<item>
			<title>mash says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4465</link>
			<description><![CDATA[ У меня STM8L101. Как из ИАР Си прочитать состояние флага CARRY? Можно с ассемблерной вставкой.]]></description>
			<dc:creator>mash</dc:creator>
			<pubDate>Sat, 07 Mar 2015 18:11:20 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4465</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4460</link>
			<description><![CDATA[Можно опрашивать флаг в регистре SREG.]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Fri, 06 Mar 2015 17:29:02 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4460</guid>
		</item>
		<item>
			<title>mash says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4457</link>
			<description><![CDATA[Можно ли в IAR Си проверять флаг переноса CARRY как здесь (http://www.pic24.ru/doku.php/osa/articles/pk2_osa_piano ):
#define SOUND(x) \ if (S[x].key) { \ temp_dac += Sample[*((char* )&S[x].f+1) & 0x3F]; \ *((char*)&S[x]. f+1) += *((char*)&S[x]. F+1); \ *((char*)&S[x]. f+0) += *((char*)&S[x]. F+0); \ if (CARRY) *((char*)&S[x]. f+1) += 1; \ }]]></description>
			<dc:creator>mash</dc:creator>
			<pubDate>Wed, 04 Mar 2015 10:33:44 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4457</guid>
		</item>
		<item>
			<title>Stein256 says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4333</link>
			<description><![CDATA[В макросе SetBitVal можно вместо if else использовать тернарный оператор. Тогда можно будет не волноваться об ошибках. ((val & 1) != 0) ? reg |= (1]]></description>
			<dc:creator>Stein256</dc:creator>
			<pubDate>Sun, 09 Nov 2014 15:42:05 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4333</guid>
		</item>
		<item>
			<title>Stein256 says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4332</link>
			<description><![CDATA[Как вы и написали "Бит устанавливается или ничего не делается", т.е. таким способом нельзя обнулить бит. А нужно чтоб в переменной reg бит c номером bit принял значение val.]]></description>
			<dc:creator>Stein256</dc:creator>
			<pubDate>Sun, 09 Nov 2014 15:05:17 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4332</guid>
		</item>
		<item>
			<title>0867532 says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4235</link>
			<description><![CDATA[Либо я дурак либо лыжи не едут... вот проверяю наложение одного массива на другой(solid[15 ] CurrentFig[3]) for(i=0; i 0) j++; } смысл в том, что если в лог умножении появляется хотя бы одна единица j растёт. но условие не срабатывает.]]></description>
			<dc:creator>0867532</dc:creator>
			<pubDate>Thu, 10 Jul 2014 12:09:56 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-4235</guid>
		</item>
		<item>
			<title>Vimork says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-3684</link>
			<description><![CDATA[Вот оно что, спасибо большое что объяснили.]]></description>
			<dc:creator>Vimork</dc:creator>
			<pubDate>Thu, 23 Jan 2014 11:44:22 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-3684</guid>
		</item>
		<item>
			<title>dmitr-panov says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-3683</link>
			<description><![CDATA[Ошибашься. Отрицательные числа хранятся в дополнительном коде http://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4_%28%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%B0%29#.D0.9F.D1.80.D0.B5.D0.B4.D1.81.D1.82.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BE.D1.82.D1.80.D0.B8.D1.86.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D0.BE.D0.B3.D0.BE_.D1.87.D0.B8.D1.81.D0.BB.D0.B0_.D0.B2_.D0.B4.D0.BE.D0.BF.D0.BE.D0.BB.D0.BD.D0.B8.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D0.BE.D0.BC_.D0.BA.D0.BE.D0.B4.D0.B5]]></description>
			<dc:creator>dmitr-panov</dc:creator>
			<pubDate>Thu, 23 Jan 2014 03:40:34 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-3683</guid>
		</item>
		<item>
			<title>Vimork says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-3682</link>
			<description><![CDATA[Сдвиг вправо, значение переменной равно -1200, мне кажется бинарная запись числа не соответствует десятичной, там должно быть 0b1000010010110 000. После сдвига переменная должна принять значение 0b1000000100101 100. Поправьте меня, если я ошибаюсь.]]></description>
			<dc:creator>Vimork</dc:creator>
			<pubDate>Wed, 22 Jan 2014 22:56:50 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-3682</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-3313</link>
			<description><![CDATA[Спасибо. Исправил.]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Wed, 02 Oct 2013 10:37:25 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-3313</guid>
		</item>
		<item>
			<title>Кирилл says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-3310</link>
			<description><![CDATA[В "Сдвиге вправо знакового типа (отрицательное) " tmp=-1200; tmp>>=2; Должно стоять значение -300, вместо -600.]]></description>
			<dc:creator>Кирилл</dc:creator>
			<pubDate>Tue, 01 Oct 2013 17:35:36 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-3310</guid>
		</item>
		<item>
			<title>Илья21 says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-3034</link>
			<description><![CDATA[Спасибо большое! Очень хорошие знания!]]></description>
			<dc:creator>Илья21</dc:creator>
			<pubDate>Thu, 01 Aug 2013 13:14:45 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-3034</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2572</link>
			<description><![CDATA[Уроки не по порядку написаны и не по всем темам, поэтому нумерация пока невозможна.]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Sat, 02 Mar 2013 09:08:41 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2572</guid>
		</item>
		<item>
			<title>alec220 says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2571</link>
			<description><![CDATA[Первый и второй урок усвоил. Третий (если я правильно понял, с нумерацией на сайте как-то не сильно понятно) уже "чайника" запутал - прикладного примера не хватает. Крестики нолики красивая игра, вот только зачем. Вроде и помню как работает в стандартной логике & и ИЛИ... Но там было понятно куда и зачем сигнал побежал. А здесь чувствую себя человеком, гуляющим по мнимому лабиринту (без стен) поворотов много, тупиков тоже, только вот конечная цель не ясна... Сорри за критику, попробую дальше двинуться. Вот если бы еще и материал как-то пронумеровать. А то закрыл страничку и потом еле нашел, где остановился.]]></description>
			<dc:creator>alec220</dc:creator>
			<pubDate>Sat, 02 Mar 2013 08:33:33 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2571</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2529</link>
			<description><![CDATA[Ну можно придумать какие-то варианты. А зачем?]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Tue, 19 Feb 2013 18:42:39 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2529</guid>
		</item>
		<item>
			<title>Валерия says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2528</link>
			<description><![CDATA[а с помощью цикла for?]]></description>
			<dc:creator>Валерия</dc:creator>
			<pubDate>Mon, 18 Feb 2013 20:34:57 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2528</guid>
		</item>
		<item>
			<title>Валерия says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2527</link>
			<description><![CDATA[А можно ли установить несколько битов в единицу не таким способом tmp|= (1]]></description>
			<dc:creator>Валерия</dc:creator>
			<pubDate>Mon, 18 Feb 2013 20:32:34 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2527</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2432</link>
			<description><![CDATA[Вся инфа вроде на виду. А по скольку отдельного материала по макросам и препроцессору у меня нет, я посоветовал тебе книгу.]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Sun, 20 Jan 2013 18:08:51 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2432</guid>
		</item>
		<item>
			<title>Андрей says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2431</link>
			<description><![CDATA[Ну Паша, ну орел!!! После этой статьи меня как осенило) Из-за этих макросов я ночи не спал, книжки читал... Что ж ты сразу мне сылку на этот курс не дал? Я одну электронную книгу по Си уже закинул себе в бошку))) Спасибо Паша! Ты как всегда, молодца! У меня просто слов нет.]]></description>
			<dc:creator>Андрей</dc:creator>
			<pubDate>Sun, 20 Jan 2013 17:19:56 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2431</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2390</link>
			<description><![CDATA[Почитай материалы про событийную систему. Может такой вариант подойдет.]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Sat, 12 Jan 2013 16:12:23 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2390</guid>
		</item>
		<item>
			<title>maklakov says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2386</link>
			<description><![CDATA[Спасибо большое. А как лучше проверить бит на изменение? Просто проверить изменился бит или нет. Если изменился, выполнить какое то условие. Если при повторной проверки не изменился, то ничего не делать. Хочу что б события выполнялись по тикающему счётчику. Сейчас делаю через флаги, что не очень удобно. По делению без остатка тоже можно, но как то код большой выходит.]]></description>
			<dc:creator>maklakov</dc:creator>
			<pubDate>Sat, 12 Jan 2013 09:55:13 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2386</guid>
		</item>
		<item>
			<title>Иван says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2244</link>
			<description><![CDATA[Спасибо :D]]></description>
			<dc:creator>Иван</dc:creator>
			<pubDate>Thu, 29 Nov 2012 00:29:32 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2244</guid>
		</item>
		<item>
			<title>Robert says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2076</link>
			<description><![CDATA[Привет!!! Вопрос: во время выполнения Line_ON (); одновременно выполняется и Pulse_OFF(); (выставляется линия в «1», строб в «0» ) Line и Pulse биты одного порта. Если Line и Pulse биты разных портов, к примеру, PORTE и PORTF все работает правильно. Выставляется линия затем пауза далее строб и по циклу, пока не «выплюнет» слово 0Х80 в порт. Каким образом «обмануть» компилятор KEIL. Камушек 1986ВЕ92У?
whil e (1) { uint8_t i=0X80;	//0b100 10000 Opros_OFF (1);	//включени е опросной линии while (i != 0x00) { if ((MDR_TIMER3->C NT & i) == i ) {Line_ON ();} else {Line_OFF ();} i = i >> 1 ; __ nop (); Pulse_OFF();	// строб импульс Pulse_ON();	//с троб импульс } i=0X80; Opros_ON (1); }]]></description>
			<dc:creator>Robert</dc:creator>
			<pubDate>Thu, 29 Mar 2012 13:11:25 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2076</guid>
		</item>
		<item>
			<title>wukrlvy says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2010</link>
			<description><![CDATA[ Не (BTN_A | BTN_B) а ((1 ]]></description>
			<dc:creator>wukrlvy</dc:creator>
			<pubDate>Wed, 08 Feb 2012 14:31:42 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2010</guid>
		</item>
		<item>
			<title>wukrlvy says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2009</link>
			<description><![CDATA[Свой макрос для работы с двумя битами. #define SetBit2(reg, bit1, bit2) ((1 ]]></description>
			<dc:creator>wukrlvy</dc:creator>
			<pubDate>Tue, 07 Feb 2012 22:40:39 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2009</guid>
		</item>
		<item>
			<title>wukrlvy says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2008</link>
			<description><![CDATA[SetBitVal(reg, bit, val) равно (reg) = (reg) | ((val) ]]></description>
			<dc:creator>wukrlvy</dc:creator>
			<pubDate>Tue, 07 Feb 2012 22:19:09 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2008</guid>
		</item>
		<item>
			<title>wukrlvy says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2007</link>
			<description><![CDATA[Используй макрос [SetBitVal(reg, bit, val)] вместо bit поставь 0, а вместо val - свое выражение (BTN_A | BTN_B). В макросе стоит выражение ((val)]]></description>
			<dc:creator>wukrlvy</dc:creator>
			<pubDate>Tue, 07 Feb 2012 22:17:45 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2007</guid>
		</item>
		<item>
			<title>wukrlvy says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2006</link>
			<description><![CDATA[И не будет работать. Ты вместо слова bit вставляешь выражение (BTN_A + BTN_B), компилятор вычисляет выражение (до сдвига), сумма равна 7. Вот он и сдвигает единицу на 7. Во втором случае побитное ИЛИ 0011 | 0100 == 0111, тоже дает 7. В третьем случае - надо пробовать на месте. До сих пор я считал, что компилятор перед логической операцией производит приведение типов, т.е. BTN_A и BTN_B превращает в TRUE. А как известно TRUE == 1. Раз ты пробовал, и результат получился 0x80, то это не так. Никакого приведения произведено не было. Еще один постулат, перед выполнением вычислительных операций все исходные типы, которые могут быть представлены в int, в том числе и булева переменная. Если считать, что TRUE - это все, что угодно, кроме нуля, то тогда сходится.]]></description>
			<dc:creator>wukrlvy</dc:creator>
			<pubDate>Tue, 07 Feb 2012 22:04:09 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-2006</guid>
		</item>
		<item>
			<title>obstinatus says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1958</link>
			<description><![CDATA[А как быть, если с помощью SetBit() необходимо выставить более одного бита за раз? Пробовал так:
// ...
#define BTN_A	3
#define BTN_B	4
#define SetBit(reg, bit) reg |= (1]]></description>
			<dc:creator>obstinatus</dc:creator>
			<pubDate>Sat, 14 Jan 2012 19:50:38 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1958</guid>
		</item>
		<item>
			<title>anisan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1844</link>
			<description><![CDATA[тоже нужно так сделать, но вложенный define не цепляет определения...П одскажите как решили этот вопрос]]></description>
			<dc:creator>anisan</dc:creator>
			<pubDate>Sat, 12 Nov 2011 11:52:15 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1844</guid>
		</item>
		<item>
			<title>N.I.K. says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1765</link>
			<description><![CDATA[Это сообщение можно удалить. В интересующем меня вопросе я разобрался сам.]]></description>
			<dc:creator>N.I.K.</dc:creator>
			<pubDate>Fri, 07 Oct 2011 06:46:15 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1765</guid>
		</item>
		<item>
			<title>Jackkum says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1633</link>
			<description><![CDATA[MCUCR &= ~(1]]></description>
			<dc:creator>Jackkum</dc:creator>
			<pubDate>Mon, 15 Aug 2011 04:12:02 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1633</guid>
		</item>
		<item>
			<title>Jackkum says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1632</link>
			<description><![CDATA[Помогите пожалуйста! :)
#define LED_GREEN PORTB,5
#define SETBIT(PORT,PIN ) do{PORT|=(1]]></description>
			<dc:creator>Jackkum</dc:creator>
			<pubDate>Mon, 15 Aug 2011 04:10:41 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1632</guid>
		</item>
		<item>
			<title>Роман says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1591</link>
			<description><![CDATA[MCUCR &= ~(1]]></description>
			<dc:creator>Роман</dc:creator>
			<pubDate>Thu, 14 Jul 2011 12:44:14 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1591</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1185</link>
			<description><![CDATA[Ага, только неудобно пользоваться, потому что запись длинная.]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Sun, 20 Feb 2011 21:20:23 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1185</guid>
		</item>
		<item>
			<title>Raspro says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1177</link>
			<description><![CDATA[В IAR с битами можно работать и стандартными средствами. пример:
PORTB_B it0 = 1; // Установка бита 0 в PORTB
PORTB_Bit 0 = 0; // Сброс бита 0 в PORTB]]></description>
			<dc:creator>Raspro</dc:creator>
			<pubDate>Sun, 20 Feb 2011 08:47:46 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-1177</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-964</link>
			<description><![CDATA[потому что сишный код нужно заключать между тегами code]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Sat, 01 Jan 2011 16:47:32 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-964</guid>
		</item>
		<item>
			<title>Новичок says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-959</link>
			<description><![CDATA[Почему обрезает сообщение?]]></description>
			<dc:creator>Новичок</dc:creator>
			<pubDate>Thu, 30 Dec 2010 07:58:44 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-959</guid>
		</item>
		<item>
			<title>JoJo says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-860</link>
			<description><![CDATA[Возможно, нужно написать свой заголовочный файл микроконтроллер а. Биты можно проверять так
if (BitIsSet(ADMUX , MUX0){ ...
}]]></description>
			<dc:creator>JoJo</dc:creator>
			<pubDate>Tue, 07 Dec 2010 19:40:17 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-860</guid>
		</item>
		<item>
			<title>Gena572 says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-858</link>
			<description><![CDATA[Спасибо за ответ. Я имел ввиду можно ли присвоить символическое имя определенному биту в определенном регистре. Например бит MUX0 в регистре ADMUX хочу обозвать CHANNEL такое возможно. И могу ли я его проверять при помощи конструкции If...else?]]></description>
			<dc:creator>Gena572</dc:creator>
			<pubDate>Tue, 07 Dec 2010 15:48:52 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-858</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-836</link>
			<description><![CDATA[Ммм.. ну смотря что подразумевается под выражением определить бит. Бит можно определить так
define BIT(x) (1]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Tue, 30 Nov 2010 17:31:36 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-836</guid>
		</item>
		<item>
			<title>Gena572 says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-819</link>
			<description><![CDATA[Прошу прощения за глупый вопрос а бит "дефайном" можно определить? Если да то как это сделать?]]></description>
			<dc:creator>Gena572</dc:creator>
			<pubDate>Wed, 24 Nov 2010 12:00:18 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-819</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-731</link>
			<description><![CDATA[Обратный слеш используется для многострочных макросов. Макрос обрамлен в do while(0) для безопасности. Вот здесь почитай http://chipenable.ru/index.php/programming-c/21-trick-define.html]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Wed, 20 Oct 2010 19:47:33 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-731</guid>
		</item>
		<item>
			<title>Alexiy says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-722</link>
			<description><![CDATA[Очень полезный и непонятный макрос, который приведен по ссылке. SetBitVal(reg, bit, val) Результат понятен. А как работает? Что означает обратный слеш? Как понять Wile (0) в конце? Как возможно, что точка с запятой в середине?]]></description>
			<dc:creator>Alexiy</dc:creator>
			<pubDate>Sun, 17 Oct 2010 11:36:07 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-722</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-525</link>
			<description><![CDATA[А зачем тебе думать на эту тему. Это задача компилятора. Где нужно он сам это реализует. Например для выражения v = v>>1; где v - 16-ти разрядная переменная. Компилятор сгенерит такой код - lsr R17;ror R16. В r17 старший байт, в r16 младший.]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Wed, 04 Aug 2010 19:47:41 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-525</guid>
		</item>
		<item>
			<title>Guest says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-523</link>
			<description><![CDATA[До этого писал в аврстудии и алгоритмбилдере . Решил перейти на си. Как реализуется сдвиг влево или вправо с переносом бита С из регистра SREG. А вообще очень рад, что наткнулся на такой великолепный сайт, где пишет такой энтузиаст своего дела. :-)]]></description>
			<dc:creator>Guest</dc:creator>
			<pubDate>Wed, 04 Aug 2010 09:56:51 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-523</guid>
		</item>
		<item>
			<title>Guest says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-437</link>
			<description><![CDATA[Теоретически побитовые операции знают все, но за их применения автору огромный респект!!!!!]]></description>
			<dc:creator>Guest</dc:creator>
			<pubDate>Sun, 06 Jun 2010 17:25:43 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-437</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-393</link>
			<description><![CDATA[Автор пока один.. это я.]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Thu, 13 May 2010 21:00:48 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-393</guid>
		</item>
		<item>
			<title>Guest says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-390</link>
			<description><![CDATA[самый толковый сайт про Си,спасибо авторам ;-)]]></description>
			<dc:creator>Guest</dc:creator>
			<pubDate>Thu, 13 May 2010 16:15:42 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-390</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-175</link>
			<description><![CDATA[а как добавить кнопку я еще не разобрался... сам с этими сдвигами мучаюсь..]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Fri, 05 Feb 2010 17:50:37 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-175</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-174</link>
			<description><![CDATA[скобки только для наглядности]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Fri, 05 Feb 2010 17:49:34 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-174</guid>
		</item>
		<item>
			<title>Guest says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-170</link>
			<description><![CDATA[рррррр.... добавьте, пожалуйста, кнопку для оформления кода. Заменяю сдвиги на shl: по примеру tmp = tmp & (~(1 shl 3)); //обнуляем третий бит --------- tmp = tmp ^ 8; // инвертируем четвертый бит переменой tmp tmp = tmp ^ (1 shl 3); // инвертируем третий бит переменой tmp в первом случае, наверное, тоже третий бит.]]></description>
			<dc:creator>Guest</dc:creator>
			<pubDate>Fri, 05 Feb 2010 12:23:48 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-170</guid>
		</item>
		<item>
			<title>Guest says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-169</link>
			<description><![CDATA[Да чтож оно у вас сообщение режет по сдвигу-то?? tmp = tmp & (~(1 < < 3)); //обнуляем третий бит - внешние скобки лишние, это хорошо видно по следующему примеру - tmp &= (~((1]]></description>
			<dc:creator>Guest</dc:creator>
			<pubDate>Fri, 05 Feb 2010 12:19:57 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-169</guid>
		</item>
		<item>
			<title>Guest says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-167</link>
			<description><![CDATA[Согласно стандарту языка С результат сдвига вправо для отрицательного числа зависит от компилятора. Стоит это отметить.]]></description>
			<dc:creator>Guest</dc:creator>
			<pubDate>Fri, 05 Feb 2010 12:06:00 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-167</guid>
		</item>
		<item>
			<title>Pashgan says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-156</link>
			<description><![CDATA[Да, не нужно. Исправил. Спасибо]]></description>
			<dc:creator>Pashgan</dc:creator>
			<pubDate>Mon, 01 Feb 2010 05:21:28 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-156</guid>
		</item>
		<item>
			<title>Guest says:</title>
			<link>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-155</link>
			<description><![CDATA[В примере " Проверка установки бита в переменной" операцию инвертирования скорее не надо проводить. Или я не прав?]]></description>
			<dc:creator>Guest</dc:creator>
			<pubDate>Sun, 31 Jan 2010 08:53:17 +0000</pubDate>
			<guid>https://chipenable.ru/index.php/programming-avr/item/4-uchebnyy-kurs-kak-rabotat-s-bitami-makroopredeleniya.html#comment-155</guid>
		</item>
	</channel>
</rss>
