Помогите знающие люди, с прерываниями. Написал подпрграмму для получения задержки в микросекундах, частота 4 МГц. Ниже привожу фрагмент программы.
void delayMks(unsigned long time) { TACTL = 0x00; TACCR0 = 0x04; TACCTL0 = CCIE; TACTL|= MC_1; unsigned long i; for (i = time; i > 0; i-- ) { while (TAIFG) { } } }
Дело в том, что программа виснет на команде while, бит TAIFG не меняет значание, где ошибка, помогите. Заранее благодарю.
|