Это был язык С. А не С++. Но вообщем ты угадал - эта операция сбрасывала регистр процессора, который считал переданные по интерфейсу USART байты. Или что-то такое...
Ну не совсем... Дело в том, что в большинстве случаев программа в таком варианте работает нормально.
Просто дальше программа при появлении ошибки подлежащей обработке уничтожает эту переменную если ее адрес не NULL. И таки уничтожает ее, поскольку там какойто старый програмный мусор. Т.е. затирает случайный участок оперативной памяти. Даже после этого как правило ничего не происходит. Но иногда начинаются совершенно фантастические вещи...
no subject
Date: 2009-08-31 08:40 pm (UTC)А я очень долго втыкал в строчку кода вида:
pAT91SAM->pUSART->CNR;
no subject
Date: 2009-09-01 10:43 am (UTC)no subject
Date: 2009-09-01 11:28 am (UTC)Но вообщем ты угадал - эта операция сбрасывала регистр процессора, который считал переданные по интерфейсу USART байты. Или что-то такое...
no subject
Date: 2009-09-01 08:18 am (UTC)no subject
Date: 2009-09-01 10:41 am (UTC)Просто дальше программа при появлении ошибки подлежащей обработке уничтожает эту переменную если ее адрес не NULL. И таки уничтожает ее, поскольку там какойто старый програмный мусор. Т.е. затирает случайный участок оперативной памяти. Даже после этого как правило ничего не происходит. Но иногда начинаются совершенно фантастические вещи...