Вопросы по теме 'isr'
Как ЦП находит ISR и различает устройства
Сначала я должен поделиться всем, что знаю - а это полный хаос. По теме есть несколько разных вопросов, поэтому не сердитесь :).
1) Чтобы найти ISR, процессору предоставляется номер прерывания. В машинах x86 (286/386 и выше) есть IVT с ISR в нем;...
11587 просмотров
schedule
30.04.2022
Как зарегистрировать функцию в коде драйвера как ее ISR
Следуя обратной связи, которую я получил от моего предыдущего вопроса о разработке ядра Linux ,
Я написал драйвер (в ядре Linux v2.6.32), сравнив его с существующим драйвером и сильно «заимствовав» его код. Водитель прописан нормально. Init () и...
2380 просмотров
schedule
20.11.2022
Почему процедура прерывания RB запускается дважды?
У меня есть код ниже с небольшой ошибкой, которую я не знаю, как исправить. По сути, происходит то, что мой высокий ISR запускается дважды после установки флага. Он работает только дважды и является последовательным. Подпрограмма должна запускаться...
1227 просмотров
schedule
03.05.2023
Почему процедура обслуживания прерывания драйвера устройства Windows (ISR) является прерываемой?
Я новичок в написании драйвера устройства Windows.
Я понимаю, что на аппаратном уровне, когда процессор x86 прерывается (когда линия INTR процессора запускается устройством), процессор очищает бит флага прерывания регистра EFLAGS, чтобы отключить...
542 просмотров
schedule
05.05.2022
Выделяет ли каждая функция и ISR свой собственный размер стека?
Я бы предположил, что этот вопрос зависит от операционной системы или платформы.
Это произошло, когда я писал код на C++ в Windows, используя аудио библиотеки портов.
В документации указано не писать слишком много кода в моей функции обратного...
680 просмотров
schedule
08.10.2022
Зачем нужен цикл while в main для вызова ISR в arduino UNO?
Я пишу код C, который загружается в arduino uno. Это было простое упражнение по изучению того, как вызывать ISR на C. Вот код:
#include<stdio.h>
#include<stdlib.h>
#include<avr/interrupt.h>
#include<avr/io.h>
int...
240 просмотров
schedule
03.04.2024
STM32F4, странное поведение между обработчиком IRQ и функцией с общими переменными
Я столкнулся со странным поведением в моей программе. Для контекста я программирую микроконтроллер STM32F469. Используемая IDE — SW4STM32 (с версией Eclipse Neon (4.6.3)).
Чтобы сразу перейти к делу, вот что у меня есть:
void foo(void){...
241 просмотров
schedule
08.08.2022
Смоделируйте прерывание аппаратного таймера в C
Я хочу лучше понять RTOS и поэтому начал внедрять планировщик. Я хочу протестировать свой код, но, к сожалению, сейчас у меня нет HW. Как легко представить выполнение ISR, соответствующего таймеру в C?
EDIT: Благодаря ответу Sneftel я смог...
1341 просмотров
schedule
29.04.2023
Arduino — гироскопический датчик — ISR — TimeStamp
В настоящее время я работаю над воссозданием контроллера квадрокоптера.
Я работаю над получением данных от моего гироскопа, и для этого я использую ISR с прерыванием.
Моя проблема в том, что когда я вызываю свою функцию "gyro.getX" в основной...
194 просмотров
schedule
14.11.2022
Как указать вектор прерывания на основе параметра?
Я работаю с Arduino Mega 2560 и имею приложение, которое требует использования одного из трех разных таймеров на основе параметра, переданного вызывающим абонентом. Мне нужно иметь возможность сделать что-то вроде этого:
ISR(TIMERX_COMPA_vect){...
170 просмотров
schedule
27.01.2023
ESP8266 Timer1 конфликтует с библиотекой Neopixels WS2812
Я хочу добавить Timer1 ISR, чтобы он срабатывал каждые 0,25 с и делал легкое движение с помощью полосового светодиода WS2812 240.
На Arduino Nano все работало хорошо, потому что у него есть
cli();
TCCR1A = 0; // pas de PWM ou OCR...
726 просмотров
schedule
01.07.2022
Использование reti() в конце ISR
у меня проблема, что этот код не работает .. ISR работает .. я проверил его мигание в другом коде ..
но чтобы поместить x++ в ISR и прочитать X в функции main(), он никогда не мигает. ..
Я не знаком с asm, я думал, что это оптимизация...
1172 просмотров
schedule
08.09.2022
hw_timer_t, timerAttachInterrupt, portENTER_CRITICAL и т. д. не определены для ESP8266
У меня есть плата разработки ESP8266 NodeMCU 12E. Я пытаюсь реализовать ISR, использующий аппаратный таймер, как описано в этот блог здесь . Сообщение в блоге изначально предназначалось для ESP32, и в нем представлен окончательный демонстрационный...
1755 просмотров
schedule
14.01.2023
Каковы недостатки (если таковые имеются) использования вызовов FromISR FreeRTOS в контекстах, отличных от ISR?
Чтобы сделать функцию, которую я пишу, пригодной для использования как внутри, так и вне ISR, безопасно ли просто использовать безопасную для ISR версию вызовов API FreeRTOS?
// NOT ISR-safe
uint32_t messages_waiting(void)
{
return...
355 просмотров
schedule
17.11.2023
Есть ли что-то неправильное в том, чтобы передать это в качестве аргумента для регистрации ISR?
Я пишу прошивку для esp32 на C++, и мне показалось замечательным передать ссылку на объект в качестве параметра при регистрации ISR, потому что я могу просто делегировать работу из ISR конкретному объекту (ресурсу в данном случае), управление...
89 просмотров
schedule
31.07.2022