Приветствую, коллеги!

Будьте добры, растолкуйте не слишком опытному в программировании человеку, как работать с быстрыми выходами сабжа? Контроллер я держу в руках не впервые, но до сих пор мне не доводилось работать с прерываниями, так что эту тему я сейчас осваиваю "по букварю". Со входами, благо работа с ними описана подробно и в инструкциях и здесь, на форуме, более-менее разобрался, по ним вопросов нет. Но как работать с выходами, по которым информации гораздо меньше? Простейший пример: я хочу получить генератор меандра с частотой порядка килогерца, который включался бы и отключался по некоторому условию в главной программе. Подскажите, как его организовать? Понятно, что потребуется подпрограмма, которую будет дёргать аппаратный таймер, выходы в режиме прямого доступа и т.д. Но дальше я что-то не соображу.

Готовых решений не жду, мне будет достаточно словесного объяснения, либо ссылки на форум, где такая тема рассмотрена. Сам я ничего подобного, увы, не нашёл. Господ коммерсантов я тоже прошу не беспокоиться, поскольку речь идёт не о коммерческом проекте, а о задачке, которую я сам себе поставил и сам хочу решить

Спасибо!