Size: a a a

2019 January 30

T

Thorn in ELECTRONIX
в ARM нет команды reti
источник

T

Thorn in ELECTRONIX
конвейер в процессоре находится именно в datapath, как ни странно
источник

A

Aleksander in ELECTRONIX
а какая есть?  Выход из прерывания
источник

T

Thorn in ELECTRONIX
bx lr
источник

T

Thorn in ELECTRONIX
в lr магическое значение
источник

A

Aleksander in ELECTRONIX
Адрес возврата должен из стека браться. Тут это есть?
источник

A

Aleksander in ELECTRONIX
В армах все перекрутили что ли?  Надо почитать матчасть
источник

T

Thorn in ELECTRONIX
очень правильная мысль
источник

T

Thorn in ELECTRONIX
источник

GK

Grigorii Kuzmin in ELECTRONIX
Dolphin Soft
Это скорее про неправильный сброс флага. Поэтому я бы и хотел позырить твой код ;)
Что такое "неправильный" сброс?
источник

DS

Dolphin Soft in ELECTRONIX
Например так:
void TIMER0_IRQHandler(void)
{
       LPC_GPIO2->FIOPIN ^= (1<<7);
       LPC_TIM0->IR = (1u<<0);
}
источник

u

username in ELECTRONIX
Thorn
конвейер в процессоре находится именно в datapath, как ни странно
Это как?
источник

GK

Grigorii Kuzmin in ELECTRONIX
Dolphin Soft
Например так:
void TIMER0_IRQHandler(void)
{
       LPC_GPIO2->FIOPIN ^= (1<<7);
       LPC_TIM0->IR = (1u<<0);
}
Вот так работает корректно

void TIM2_IRQHandler(void)
{
 TIM2->SR &= ~(TIM_SR_UIF);

 // здесь самый обычный код без обращения к регистрам, вызова интринсиков и т.д.
}

Вот так нет (двойной вызов обработчика)

void TIM2_IRQHandler(void)
{
 // здесь самый обычный код без обращения к регистрам, вызова интринсиков и т.д.

 TIM2->SR &= ~(TIM_SR_UIF);
}
источник

GK

Grigorii Kuzmin in ELECTRONIX
Stm32f429zit
источник

u

username in ELECTRONIX
Grigorii Kuzmin
Вот так работает корректно

void TIM2_IRQHandler(void)
{
 TIM2->SR &= ~(TIM_SR_UIF);

 // здесь самый обычный код без обращения к регистрам, вызова интринсиков и т.д.
}

Вот так нет (двойной вызов обработчика)

void TIM2_IRQHandler(void)
{
 // здесь самый обычный код без обращения к регистрам, вызова интринсиков и т.д.

 TIM2->SR &= ~(TIM_SR_UIF);
}
Поля структуры TIM2 __IO и они же volatile
источник

GK

Grigorii Kuzmin in ELECTRONIX
username
Поля структуры TIM2 __IO и они же volatile
Так
источник

VS

Vovan Sidorovich in ELECTRONIX
Grigorii Kuzmin
Вот так работает корректно

void TIM2_IRQHandler(void)
{
 TIM2->SR &= ~(TIM_SR_UIF);

 // здесь самый обычный код без обращения к регистрам, вызова интринсиков и т.д.
}

Вот так нет (двойной вызов обработчика)

void TIM2_IRQHandler(void)
{
 // здесь самый обычный код без обращения к регистрам, вызова интринсиков и т.д.

 TIM2->SR &= ~(TIM_SR_UIF);
}
так и должно быть. Таймер на частоте меньшей чем ядро. Не успевает сбросить флаг.
источник
2019 January 31

BV

Bulat Valeev in ELECTRONIX
Добрый вечер, никто не сталкивался с микросхемой bq24600  для заряда li pol ,? Почему то сразу после начала заряда завершает его
источник

I

Ilya in ELECTRONIX
Вечер добрый. Может есть у кого AQ Time с лекарством какое нибудь попозднее?
источник

u

username in ELECTRONIX
Bulat Valeev
Добрый вечер, никто не сталкивался с микросхемой bq24600  для заряда li pol ,? Почему то сразу после начала заряда завершает его
Схема есть?
источник