<?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>AVR Studio: как написать обработчик прерывания</title>
		<description>Обсуждение AVR Studio: как написать обработчик прерывания</description>
		<link>https://microsin.net/programming/avr/avr-studio-isr.html</link>
		<lastBuildDate>Wed, 10 Jun 2026 16:12:26 +0300</lastBuildDate>
		<generator>JComments</generator>
		<atom:link href="https://microsin.net/component/option,com_jcomments/format,raw/limit,10/object_group,com_content/object_id,1067/task,rss/" rel="self" type="application/rss+xml" />
		<item>
			<title>ms написал:</title>
			<link>https://microsin.net/programming/avr/avr-studio-isr.html#comment-2511</link>
			<description><![CDATA[Откуда взялось число 62439? microsin: все тупо и просто для тех, кто окончил 3-й класс средней школы. Частота тактирования таймера равна 16000000/256=62500 Гц. Следовательно, чтобы прошла 1 секунда, счетчик должен досчитать до 62500. Поскольку надо также учитывать время отработки кода обработчика прерывания, это число оказывается меньше. В реальной жизни тупо берется 62500, и далее подбором это число уменьшается до тех пор, пока время между прерываниями не окажется требуемым (для данного примера 1 секунда). В итоге получается число 62439.]]></description>
			<dc:creator>ms</dc:creator>
			<pubDate>Mon, 08 Dec 2014 23:52:45 +0300</pubDate>
			<guid>https://microsin.net/programming/avr/avr-studio-isr.html#comment-2511</guid>
		</item>
		<item>
			<title>Женя написал:</title>
			<link>https://microsin.net/programming/avr/avr-studio-isr.html#comment-2090</link>
			<description><![CDATA[Можно ли обработать прерывание с более низким приоритетом до обработки прерывания с более высоким приоритетом при одновременном возникновении? И если да, то как? microsin: ИМХО поскольку нормальной вложенности прерываний и настройки уровней приоритетов у AVR нет, то единственное, что Вы можете сделать - это проверить в высокоуровневом обработчике прерывания, что возникло событие низкоуровневого прерывания, и нужно его обработать. Рациональнее всего обработку выполнить тут же, и затем перейти к обработке других задач прерывания. Чтобы такой ситуации не возникло, рационально подбирать аппаратную конфигурацию схемы так, чтобы фиксированные приоритеты прерываний совпадали с теми приоритетами, которые Вам реально нужны. Тогда достаточно в низкоуровневом обработчике прерываний вызвать команду SEI, чтобы разрешить обработку прерывания более высокого (аппаратно) уровня.]]></description>
			<dc:creator>Женя</dc:creator>
			<pubDate>Tue, 29 Apr 2014 14:20:14 +0300</pubDate>
			<guid>https://microsin.net/programming/avr/avr-studio-isr.html#comment-2090</guid>
		</item>
		<item>
			<title>anvm написал:</title>
			<link>https://microsin.net/programming/avr/avr-studio-isr.html#comment-718</link>
			<description><![CDATA[В USB консоли для atmega168 команду : out _SFR_IO_ADDR(TI MSK), R24 заменил на sts TIMSK1, R24 http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=78203&start=0]]></description>
			<dc:creator>anvm</dc:creator>
			<pubDate>Sun, 12 Sep 2010 21:41:23 +0300</pubDate>
			<guid>https://microsin.net/programming/avr/avr-studio-isr.html#comment-718</guid>
		</item>
		<item>
			<title>Zigfrid написал:</title>
			<link>https://microsin.net/programming/avr/avr-studio-isr.html#comment-367</link>
			<description><![CDATA[цитата-"Прерывание с более высоким приоритетом может временно приостановить уже работающий обработчик прерывания с меньшим приоритетом, чтобы немедленно выполнить свой код" - разве? При запуске первым вызовется прерывание с меньшим адресом вектора. Внутри подпрограммы обработки прерывания другие прерывания(глоб ально) запрещены. Т. е. до конца прерывания оно не будет прервано. Если их разрешить, внутри прерывания, то сработает первое разрешённое прерывание(прио ритет не важен. Или я ошибаюсь? :cry: microsin: да, действительно, Вы правы. Оказывается, что приоритет работает только в случае нескольких запомненных (во время выполнения прерывания, когда другие прерывания не могут быть вызваны) флагов прерывания. Благодарю Вас, мне надо исправить старый текст.]]></description>
			<dc:creator>Zigfrid</dc:creator>
			<pubDate>Fri, 12 Mar 2010 18:34:15 +0300</pubDate>
			<guid>https://microsin.net/programming/avr/avr-studio-isr.html#comment-367</guid>
		</item>
	</channel>
</rss>
