Ну наконец - то поборол ! Спасибо SALOME натолкнули на хорошую мысль.: заработало следующим образом , в обработчик прерывания добавил всего пару строк.
EX_INTERRUPT_HANDLER(UARTRx_ISR) { static int count ; do {;} while (!(*pUART_LSR & DR)) ; REC_Data[count] = *pUART_RBR; count ++ ; ssync(); ssync(); if (count == N ) { UART_putRECData(); } }
и все заработало как хотел. честно говоря думал, что отслеживать DR уже не надо, думал за меня это контроллер прерываний сделает, а оказалось совсем по другому. Спасибо за помощь !
|