Прекъсване в PIC18 - Проверка на прекъсвания в MPLAB X, PRO диод

pic18

прекъсване в PIC18

Поредица от статии - PIC за начинаещи или основите на основите

В последната статия за I/O портовете прекъсванията бяха безполезни. Но колкото по-навътре в гората ... толкова по-голяма е необходимостта от прекъсвания.

Прекъсвания в PIC18 или защо те пишат прекъсване

Вярвате или не, прекъсванията правят точно това, което подсказва името им: те прекъсват основния програмен код и прехвърлят контрола върху друг код.

Тази "друга" част от кода трябва да завърши изпълнението си, като се върне към основния код или по-точно до мястото, където е прекъснато изпълнението на кода. Една от основните характеристики на прекъсването е броят на тактовите цикли, необходими за преминаване от работеща програма към прекъсване.

Източници за прекъсване

Кога трябва да прекъснете програмата? Обикновено, когато се случи нещо важно. Какво е важно събитие - трябва да се определите, като конфигурирате разрешения за прекъсване от използваните модули. Например, байт дойде в UART. Ако не бъде обработен навреме, следващият входящ байт ще замени съществуващия и информацията ще бъде загубена. Следователно, когато байт пристигне в UART, е необходимо да "пуснете всичко" и да прочетете байта от буфера за получаване.

Така че, ако в проекта се използва UART, той трябва да бъде конфигуриран така, че да генерира прекъсване, когато буферът за получаване е пълен. Ако това е направено, UART е източник на прекъсване. В допълнение към UART източниците на прекъсвания обикновено са модули:

Можем да кажем, че почти всички периферни устройства могат да генерират прекъсвания. Ако периферните устройства на който и да е микроконтролер не могат да генерират прекъсвания, това значително ограничава възможностите на микроконтролера.