ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 июля
238320 Топик полностью
madfox (11.02.2011 14:07, просмотров: 1) ответил SciFi на В примере с прерыванием таймера (например, TIM2 из STM32, номер 28): пишем в STIR число 28. Вызывается timer_handler() в timer.c. То есть обработчик зовут timer_handler(). Можете назвать super_duper_handler(). Как будет вызван? Легко и
Спецификация говорит:Запись в регистр STIR приводит к формированию в системе программного прерывания (SGI – Software Generated Interrupt)...INTID – идентификатор формируемого прерывания в диапазоне 0 – 239. Например, значение b000000011 соответствует прерыванию IRQ3.Эти прерывания, это же не прерывания "дублирующие" нормальные хардварные прерывания, а вполне себе самостоятельные прерывания, но генерируемые программно. Поэтому установка 28го бита в STIR приведёт в прерыванию, для которого должен быть свой обработчик.