Съдържание:

Серийно отстраняване на грешки с CloudX: 3 стъпки
Серийно отстраняване на грешки с CloudX: 3 стъпки

Видео: Серийно отстраняване на грешки с CloudX: 3 стъпки

Видео: Серийно отстраняване на грешки с CloudX: 3 стъпки
Видео: Диагностика на автомобила - Направете я сами с този адаптер за 20лв! (част 1) 2024, Юни
Anonim
Серийно отстраняване на грешки с CloudX
Серийно отстраняване на грешки с CloudX

В този проект се стремя да обясня концепцията за отстраняване на грешки чрез серийния терминал. Но първо като начало, нека обясним концепцията му чрез нейните значения.

1. серийна комуникация

серийната комуникация е за комуникация между платката CloudX и компютър или други устройства. Всички CloudX платки имат поне един видян сериен порт (известен също като UART или USART): Сериен. Той комуникира чрез цифров RX и TX пин с други хардуерни или серийни комуникационни модули (като gsm и gps), както с компютъра чрез USB, използвайки SoftCard. По този начин, ако използвате тези функции, не можете също да използвате TX и RX за цифров вход или изход. Можете да използвате вградения сериен монитор на средата CloudX за комуникация с CloudX платка. Щракнете върху бутона за сериен монитор в лентата с инструменти и изберете същата скорост на предаване, използвана в параметъра, извикан на serialBegin ().

2. Отстраняване на грешки

Отстраняването на грешки просто означава идентифициране и премахване на грешки от (компютърен хардуер или софтуер). Отстраняването на грешки включва локализиране и коригиране на грешки в кода в компютърна програма. Отстраняването на грешки е част от процеса на тестване на софтуера и е неразделна част от целия жизнен цикъл на разработката на софтуер. Да вземем например, че вашият код е компилиран успешно и тествате хардуера си и той не работи според очакванията, въпреки че има много начини за отстраняване на грешки в кода ви; прост и ефективен начин за отстраняване на грешки е чрез използването на серийно отстраняване на грешки. CloudX IDE генерира 2 типа файл за успешна компилация, HEX и COFF файл. HEX файлът е строго машинен код, който се зарежда на дъската за изпълнение в реалния свят, но може да се изпълнява и на вашия компютър за симулационни програми като Proteus Isis, докато COFF файлът е четим формат, изпълним на софтуера за симулация на вашия компютър (Proteus Isis). За този обхват ще разгледаме два основни типа отстраняване на грешки в сериен протокол,

1. Меко серийно отстраняване на грешки:

При този метод всеки тест и отстраняване на грешки се извършват на компютъра чрез някакъв полезен софтуер като Proteus ISIS. Тъй като CloudX основно генерира COFF файл, препоръчвам да го използвате за симулация на компютър, тъй като с него можете основно да преминете между редове от кодове и да разберете откъде идва проблем и ако кодът ви трябва да се изпълнява без стъпка, използвайки виртуален терминал от „виртуалния инструментален режим инструмент, винаги можете да знаете къде по кой момент работи контролерът по всяко време. нека да разгледаме този пример за код,

Етап 1:

Образ
Образ
Образ
Образ

/*

* Файл: newmain.c

* Автор: OGBOYE GODWIN * * Създадено на 28 юни 2018 г., 10:15 ч. */

#включва

#включва

/* Ще направим

червен pin1 зелен pin2 жълт pin3 *бутон pin4 */ char *tell = "хммм, докоснах се"; setup () {pinMode (1, OUTPUT); pinMode (2, OUTPUT); pinMode (3, OUTPUT); pinMode (4, INPUT); Serial_begin (9600); цикъл () {while (! readPin (4)); Serial_writeText (кажи); Serial_writeText ("….преминаване към червено"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (1, HIGH); забавяния (200); // опитайте да премахнете коментирането на всички забавяния и да видите какво се случва // след това ги заменете (със сигурност ще ви хареса!). while (! readPin (4)); Serial_writeText (кажи); Serial_writeText ("….преминаване към зелено"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (2, HIGH); забавяния (200); // опитайте да премахнете коментирането на всички забавяния и да видите какво се случва // след това ги заменете (със сигурност ще ви хареса!).

while (! readPin (4));

Serial_writeText (кажи); Serial_writeText ("….преместване в жълто"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (3, HIGH); забавяния (200); // опитайте да премахнете коментирането на всички забавяния и да видите какво се случва // след това ги заменете (със сигурност ще ви хареса!). }}

с това можете да видите как серийното отстраняване на грешки е важно, ако премахнете забавянето. ако го направихте, щяхте да видите колко обезпокоителен може да причини този прост код, ако се изпълнява в реалния свят без тези забавяния.

Стъпка 2:

Образ
Образ
Образ
Образ
Образ
Образ

2. Отстраняване на грешки в хардуера:

В този метод всеки тест и отстраняване на грешки се извършват чрез прикачване на прототипната платка на CloudX към компютъра с помощта на softCard и използване на серийния терминал на CloudX IDE (препоръчително) или друг полезен софтуер като Compus на Proteus ISIS, realTerm и др. Генериране на COFF файлът не може да се използва тук, тъй като този метод изисква HEX зареждане в хардуера, препоръчвам да го използвате за софтуерна карта CloudX. Обърнете внимание, че вашият код се изпълнява без стъпка, така че винаги можете да знаете къде по който ред се изпълнява контролерът по всяко време от серийния изход. нека да разгледаме този код, същият пример, изброен по-горе, настройте хардуера си да бъде подобен на червен LED --------- на pin1 зелен светодиод --------- pin2 жълт LED- ------- бутон pin3 --------- пин4

Стъпка 3:

Образ
Образ

стъпки

1. Използвайте същия код, както по -горе

2. заредете на дъската си

3. стартирайте серийния терминал на CloudX, като щракнете върху бутона „сериен“в лентата с инструменти

4. изберете желания порт и скорост на предаване (9600 в този урок)

5. стартирайте терминала, като щракнете върху свързване (прекъснете връзката, ако искате да излезете)

6. при отворен/свързан порт, за миг натиснете бутона по желание и ще видите серийния изход, показан на прозорците на терминала. Обърнете внимание, че ако имате забавяния на кода, ще получите няколко реда сериен изход, работещи толкова бързо, без контрол, преди да свалите ръцете си от бутона. Ако по някаква причина във вашия код имате такъв или подобен проблем, винаги можете да използвате този метод за отстраняване на грешки.

Препоръчано: