ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
2 июля
411595 Топик полностью
1111111 (22.05.2013 13:31, просмотров: 104) ответил koyodza на покажите код. В обработчике прерывания TIM_ClearITPendingBit выполняете?
На картинке - состояние после входа в прерывание.  Биты естественно сбрасываются, если установлены. В коде прерывания ничего хитрожопого:
__irq void SW_UART_IRQ_Handler( void )
{
U8 Ch;

//определяем канал по которому пришло прерывание
if( ( SW_UART_TIMER -> DIER & TIM_DIER_CC2IE ) && ( SW_UART_TIMER -> SR & TIM_SR_CC2IF ) )
 Ch = 1;
else
 {
  if( ( SW_UART_TIMER -> DIER & TIM_DIER_CC3IE ) && ( SW_UART_TIMER -> SR & TIM_SR_CC3IF ) )
   Ch = 0;
  else
   {
    return;
   }
 }

//БЛАБЛАБЛА

//чистим флаги
if( !Ch )
 {
  SW_UART_TIMER -> SR = ~TIM_SR_CC3IF;
 }
else
 {
  SW_UART_TIMER -> SR = ~TIM_SR_CC2IF;
 }
}
Да, флаги еще сбрасываются автоматически при доступе к CCRх, но в фоне его нет, только в прерывании.