Доброго дня, прошу помощи в вопросе приоритетов прерываний в STM32F415.....
Инициализирую SPI. В нормальном режиме работает все ОК... Из функции main...... В функции SPI выставлены маленькие задержки организованные на таймере 2.
Код:
|
uint8 SpiWrite1( const uint8* data, uint16 length)
{
uint8 rc;
uint16 i;
Set_CS1;
Delay_uS_(5);
for (i = 0; i ‹ length; i++)
{
SPI1-›DR=data[i]; read data byte
while(!(SPI1-›SR & SPI_SR_RXNE)){}
}
Delay_uS_(5);
UNSet_CS1;
Delay_uS_(5);
return(rc);
} |
Код:
|
NVIC_SetPriority(TIM2_IRQn, 1);
NVIC_SetPriority (SPI1_IRQn, 5);
NVIC_SetPriority(TIM3_IRQn, 10); |
Когда начинаю писать в SPI из обработчика прерывания таймера3....
Получается шляпа.