Mündəricat:

CloudX ilə Serial Ayıklama: 3 addım
CloudX ilə Serial Ayıklama: 3 addım

Video: CloudX ilə Serial Ayıklama: 3 addım

Video: CloudX ilə Serial Ayıklama: 3 addım
Video: How to Install Kaleidoscope on Mac OS | Identify and Analyze Animal Sounds 2024, Iyun
Anonim
CloudX ilə Serial Ayıklama
CloudX ilə Serial Ayıklama

Bu layihədə, serial terminal vasitəsilə ayıklama anlayışını izah etməyi hədəfləyirəm. Ancaq əvvəlcə bir başlanğıc olaraq, anlayışını mənaları ilə izah etməyə icazə verin.

1. serial rabitə

serial rabitə CloudX lövhəsi ilə kompüter və ya digər qurğular arasında ünsiyyət üçündür. Bütün CloudX lövhələrində ən azı bir görülmüş serial portu var (UART və ya USART olaraq da bilinir): Serial. Rəqəmsal RX və TX pinində digər proqram təminatları və ya seriyalı ünsiyyət modulları ilə (gsm və gps kimi) SoftCard istifadə edərək kompüter vasitəsilə USB vasitəsilə əlaqə qurur. Beləliklə, bu funksiyaları istifadə etsəniz, rəqəmsal giriş və ya çıxış üçün TX və RX -dən də istifadə edə bilməzsiniz. CloudX lövhəsi ilə əlaqə qurmaq üçün CloudX mühitinin quraşdırılmış serial monitorundan istifadə edə bilərsiniz. Alətlər çubuğundakı serial monitor düyməsini basın və serialBegin () adlanan parametrdə istifadə edilən eyni ötürmə sürətini seçin.

2. Debug

Hata ayıklama, sadəcə olaraq (kompüter avadanlığı və ya proqram təminatı) səhvləri müəyyən etmək və aradan qaldırmaq deməkdir. Hata ayıklama, proqram sınaq prosesinin bir hissəsidir və bütün proqram inkişaf ömrünün ayrılmaz bir hissəsidir. Məsələn, kodunuzun uğurla tərtib edildiyini və cihazınızı sınadığınızı və gözlənildiyi kimi işləmədiyini götürək, baxmayaraq ki, kodunuzu düzəltməyin bir çox yolu var; Hata ayırmağın sadə və təsirli bir yolu serial ayıklama istifadə etməkdir. CloudX IDE, müvəffəqiyyətli tərtibdə 2 növ fayl yaradır, HEX və COFF faylı. HEX faylı, gerçək dünyada icra üçün lövhəyə yüklənən, ancaq PC simulyasiya proqramlarında oxunan bir format olduğu halda, Proteus Isis kimi PC simulyasiya proqramlarında da işləyə bilən maşın kodudur (Proteus Isis). Bu məqsədlə serial protokolunda iki əsas ayıklama növünü nəzərdən keçirəcəyik.

1. Yumşaq Serial Hata Ayıklama:

Bu üsulda hər bir sınaq və ayıklama PC -də Proteus ISIS kimi faydalı proqramlar vasitəsi ilə aparılır. CloudX əsasən COFF faylı yaratdığından, bunu PC simulyasiyası üçün istifadə etməyi məsləhət görürəm, çünki bununla kod xətləri arasında bir problemin haradan gəldiyini və kodunuzun addım atmadan işləməsi lazım olduğunu "virtual" dan istifadə edərək virtual teminaldan istifadə edə bilərsiniz. alət rejimi "aləti, istənilən vaxt nəzarətçinin hansı xəttin işlədiyini həmişə bilə bilərsiniz. bu kod nümunəsinə nəzər salaq,

Addım 1:

Şəkil
Şəkil
Şəkil
Şəkil

/*

* Fayl: newmain.c

* Müəllif: OGBOYE GODWIN * * 28 iyun 2018 -ci il, saat 10: 15 -də yaradılmışdır */

#daxil edin

#daxil edin

/* edəcəyik

qırmızı pin1 yaşıl pin2 sarı pin3 *düymə pin4 */ char *tell = "hmmm, toxunmuşam"; quraşdırma () {pinMode (1, ÇIXIŞ); pinMode (2, Çıxış); pinMode (3, Çıxış); pinMode (4, GİRİŞ); Serial_begin (9600); loop () {while (! readPin (4)); Serial_writeText (izah edin); Serial_writeText ("… qırmızıya hərəkət edir"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (1, YÜKSƏK); gecikmə (200); // bütün gecikmələri şərhdən çıxarmağa çalışın və nə baş verdiyini görün // sonra onları əvəz edin (şübhəsiz ki, bəyənəcəksiniz!). while (! readPin (4)); Serial_writeText (izah edin); Serial_writeText ("… yaşıl tərəfə hərəkət"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (2, YÜKSEK); gecikmə (200); // bütün gecikmələri şərhdən çıxarmağa çalışın və nə baş verdiyini görün // sonra onları əvəz edin (şübhəsiz ki, bəyənəcəksiniz!).

while (! readPin (4));

Serial_writeText (izah edin); Serial_writeText ("… sarıya hərəkət edir"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (3, YÜKSEK); gecikmə (200); // bütün gecikmələri şərhdən çıxarmağa çalışın və nə baş verdiyini görün // sonra onları əvəz edin (şübhəsiz ki, bəyənəcəksiniz!). }}

Gecikmələri aradan qaldırsanız, Serial ayıklamanın necə vacib olduğunu görə bilərsiniz. Əgər bunu etsəydiniz, bu gecikmələr olmadan real dünyada icra olunarsa, bu sadə kodun nə qədər çətin ola biləcəyini görərdiniz.

Addım 2:

Şəkil
Şəkil
Şəkil
Şəkil
Şəkil
Şəkil

2. Avadanlıq Hata Ayıklama:

Bu üsulda, hər bir test və ayıklama, SoftCard istifadə edərək CloudX prototip lövhəsini PC -yə bağlayaraq və ya CloudX IDE -nin serial terminalından (tövsiyə olunur) və ya Proteus ISIS compim, realTerm və s. Kimi digər faydalı proqramlardan istifadə etməklə həyata keçirilir. fayl burada istifadə edilə bilməz, çünki bu üsul aparata yüklənmiş HEX tələb edir, bunu CloudX proqram kartı üçün istifadə etməyi məsləhət görürəm. Kodunuzun heç bir addım atmadan işlədiyini unutmayın, buna görə də serial çıxışı ilə istənilən vaxt nəzarətçinin harada işlədiyini bilə bilərsiniz. Bu kodu yuxarıda sadalanan eyni nümunəyə nəzər salmağa imkan verir, qurğunuzu qırmızı LED --------- pin1 yaşıl LED-ə --------- pin2 sarı LED-ə bənzətmək üçün qurun ------- pin3 düyməsi --------- pin4

Addım 3:

Şəkil
Şəkil

addımlar

1. Yuxarıdakı kimi eyni kodu istifadə edin

2. boardunuza yükləyin

3. Alətlər çubuğundakı "serial" düyməsini basaraq CloudX serial Terminalını işə salın

4. İstədiyiniz portu və baud sürətini seçin (bu dərsdə 9600)

5. Bağlanı tıklayarak terminala başlayın (çıxmaq istəsəniz əlaqəni kəsin)

6. port açıldıqda/qoşulduqda, düyməni istədiyiniz anda basın və terminal pəncərələrində göstərilən serial çıxışını görəcəksiniz. Diqqət yetirin ki, kodu gecikdirsəniz, əllərinizi düymədən çıxarmazdan əvvəl nəzarət etmədən bu qədər sürətli işləyən bir neçə seriyalı çıxış əldə edəcəksiniz. Kodunuzda hər hansı bir səbəbdən bu və ya bənzər bir probleminiz varsa, hər zaman bu metodu ayıklama üçün istifadə edə bilərsiniz.

Tövsiyə: