Здравствуйте. У меня возникла следующая проблема.
У меня в проекте настроен PIT для целей RTOS (период - 1 мс)
Так же мне нужно сконфигурировать DBGU на частоту 115200.
Код
__arm void Handler(void) {
unsigned long status;
unsigned long status_dbgu;
status = AT91C_BASE_PITC->PITC_PISR;
status_dbgu = AT91C_BASE_DBGU->DBGU_CSR;
if (status_dbgu & AT91C_US_RXRDY) {
AT91C_BASE_DBGU->DBGU_RHR;
zzz_cnt++;
}
if(status & AT91C_PITC_PITS)
{
AT91C_BASE_AIC->AIC_IVR = 0;
status = AT91C_BASE_PITC->PITC_PIVR;
(void)status;
OSTimeTick();
}
}
В общем если DBGU настроить на 9600, то при отправке в порт 2800 байт, переменная zzz_cnt становиться равна как и должна 2800.
Но вот если я конфигурирую на 115200, то после отправки 2800 байт, переменная равна 179-182 байта. В чем может быть причина данного глюка?
Помогите решить данную проблему. Заранее благодарен.