режимі, вам довелося б дуже довго клацати мишкою! У подібних випадках застосовуються точки зупину (Breakpoint). p align="justify"> Визначення. Точка зупину - це спеціальна мітка, яку в налагоджувальному режимі програміст може поставити проти будь-якого рядка програми. p align="justify"> Потім програма запускається під управлінням відладчика. Але це - не реальна робота. Це лише імітація роботи мікроконтролера. Програма виконується рядок за рядком, поки в черговий рядку не зустрінеться точка зупинки. Виявивши таку точку, відладчик призупиняє виконання програми. p align="justify"> Виглядає це таким чином, як-ніби за один крок ви виконали великий шматок програми. Тепер ви можете знову переглянути і (або) змінити вміст будь-якого регістра. А потім продовжити налагодження. Причому, ви можете продовжити її як в покроковому режимі, так і запустити програму в режимі автоматичного виконання до наступної точки зупину. p align="justify"> Для управління точками зупину програма має кілька вбудованих директив, які показані в таблиці 2.
Таблиця 2.
В
Директиви управління точками зупину
Для того, щоб поставити крапку зупину в якій-небудь рядку програми, потрібно спочатку помістити в цей рядок текстовий курсор. Потім вибрати директиву В«Поставити крапку зупинуВ» (див. табл. 2). Точка зупину виглядає як коричневий кружечок навпроти вибраної рядка програми на лівій межі текстового вікна. p align="justify"> Якщо помістити курсор в рядок, де вже є точка зупинки, і виконати ще раз директиву В«Поставити крапку зупинуВ», то точка прибирається. Прибрати відразу всі поставлені точки зупину можна за допомогою директиви В«Прибрати все точки зупинуВ». p align="justify"> Другий спосіб проставляння точок зупину - завдання їх через меню. Призначений для цього пункт В«New BreakpointsВ» меню В«DebugВ» має два підпункти. За допомогою підпункту В«Program BreakpointВ» можна встановлювати програмні точки зупину. Тобто точно такі, які ми ставили попереднім способом. p align="justify"> Відмінність способу постановки точок через меню в тому, що їх місце розташування в програмі ви визначаєте шляхом заповнення полів у спеціальній формі. У цій формі, окрім номера рядка або адреси програми, де ви хочете поставити точку зупину, ви можете вказати кількість проходів. p align="justify"> Для цього вам необхідно заповнити поле В«Break execution after: - hitsВ» (В«Зупинити виконання після: - проходівВ»). Якщо число в цьому полі не дорівнює нулю, то програма зупиниться в даній точці зупинки не з першого разу, а лише тоді, коли пройде через неї вказану кількість разів. p align="justify"> Якщо ви встановили вашу точку зупинитися не через меню, а безпосередньо в тексті програми, ви все одно можете викликати описаний вище діалог і змінити в ньому кількість проходів, клацнувши мишею по рядку з описом потрібної точки зупину у вкладці В«Breakpoints and TracepointsВ».
За допомогою підпункту В«Data BreakpointВ» пункту В«New BreakpointsВ» меню В«DebugВ» можна задавати точки зупину за даними. При виборі цього пункту меню відкривається діалог, в якому ви можете вибрати будь-яку з змінних вашої програми або будь-який ресурс мікроконтролера (з відкривається списку) і поставити точку зупину за зверненням до цієї змінної (ресурсу). p align="justify"> Програма дозволяє вибрати цілий ряд умов, при яких настане останов програми. Типово останов відбувається при будь-якому зверненні до цієї змінної як в режимі читання, так і в режимі запису. Ви можете вибрати іншу умову. Наприклад, при рівності змінної певному значенню. Вибір умови проводиться за допомогою поля В«Break when:В» (В«Зупинитися якщо:В») і поля В«Access typeВ» (В«Тип доступуВ»). Ім'я змінної вибирається за допомогою поля В«LocationВ». p align="justify"> Діалог проставляння точок зупину обох видів можна викликати не тільки через меню. У верхній лівій частині вкладки В«Breakpoints and TracepointsВ» для цього є спеціальна кнопка. p align="justify"> Після того, як ви проставили всі точки зупину, ви можете запускати програму в режимі автоматичного виконання. Для управління отладчиком в цьому режимі програма AVR Studio також має декілька спеціальних директив (див. табл. 3). Запуск автоматичного виконання програми проводиться за допомогою директиви В«ПускВ». p align="justify"> Поки програма знаходиться в режимі автоматичного виконання, новий стан регістрів не відображається. Покажчик поточної команди також відсутня. У нижньому рядку головній панелі програми в правій її стороні знаходиться індикатор стану. У режимі зупинки це жовтий кружечок з мінусом посередині. Зліва від нього знаходиться слово В«StoppedВ» (Зупинено). У режимі автоматичного виконання програми жовтий кружечок перетворюється на зелений з плюсом всередині. Замість слова В«StoppedВ» з'являється слово В«RunningВ» (Запущено). p align="justify"> Якщо ви неправильно поставили крапку зупини або і зовсім забули її п...