[an error occurred while processing this directive]
|
>>Т.е. Этот хитрюга сначала бит тестирует, тут же блин сам его сбрасывает, и радостно выходит из while{}.
Это вот тут?
47. while(IFG1&OFIFG)
BIT.B #2,&2
BIC.B #2,&2
JEQ (?0010)
Неее, дядь, BIC флаги не трогает, JEQ прыгает по флагу, который BIT выставил. Так что вроде как все корректно.
Я пользуюсь такой конструкцией:
void interrupt [NMI_VECTOR] OSCFault (void)
{
BCSCTL2&=~MCLK_XT2; //SMCLK=DCO;MCLK=DCO;
do
IFG1&=~_OFIFG;
while (IFG1&OFIFG);
BCSCTL2 |= MCLK_XT2; //SMCLK=XT;MCLK=XT;
IE1|=_OFIE;
}
E-mail: info@telesys.ru