İçindekiler:

CloudX ile Seri Hata Ayıklama: 3 Adım
CloudX ile Seri Hata Ayıklama: 3 Adım

Video: CloudX ile Seri Hata Ayıklama: 3 Adım

Video: CloudX ile Seri Hata Ayıklama: 3 Adım
Video: Ремонт на балконе Ошибки монтажа теплого пола. #37 2024, Kasım
Anonim
CloudX ile Seri Hata Ayıklama
CloudX ile Seri Hata Ayıklama

Bu projede seri terminal üzerinden hata ayıklama kavramını açıklamayı hedefliyorum. Ama önce bir başlangıç olarak, kavramını anlamlarıyla açıklayalım.

1. seri iletişim

seri iletişim, CloudX kartı ile bir bilgisayar veya diğer cihazlar arasındaki iletişim içindir. Tüm CloudX kartlarında en az bir görülen seri bağlantı noktası bulunur (UART veya USART olarak da bilinir): Seri. Dijital RX ve TX pini üzerinden diğer donanımlar veya seri iletişim modülleri (gsm ve gps gibi) ile bilgisayardaki gibi USB üzerinden SoftCard kullanarak haberleşir. Bu nedenle, bu işlevleri kullanırsanız, dijital giriş veya çıkış için TX ve RX'i de kullanamazsınız. Bir CloudX kartıyla iletişim kurmak için CloudX ortamının yerleşik seri monitörünü kullanabilirsiniz. Araç çubuğundaki seri izleme düğmesine tıklayın ve serialBegin() olarak adlandırılan parametrede kullanılanla aynı baud hızını seçin.

2. Hata ayıklama

Hata ayıklama basitçe (bilgisayar donanımı veya yazılımından) hataları belirlemek ve kaldırmak anlamına gelir. Hata ayıklama, bir bilgisayar programında kod hatalarını bulmayı ve düzeltmeyi içerir. Hata ayıklama, yazılım test sürecinin bir parçasıdır ve tüm yazılım geliştirme yaşam döngüsünün ayrılmaz bir parçasıdır. Örneğin, kodunuz başarıyla derlendi ve donanımınızı test ediyorsunuz ve kodunuzda hata ayıklamanın birçok yolu olmasına rağmen beklendiği gibi çalışmıyor; hata ayıklamanın basit ve etkili bir yolu, seri hata ayıklamanın kullanılmasıdır. CloudX IDE, başarılı derleme, HEX ve COFF dosyasında 2 tür dosya oluşturur. HEX dosyası kesinlikle gerçek dünyada yürütülmek üzere panoya yüklenen makine kodudur, ancak COFF dosyası PC simülasyon yazılımlarınızda (Proteus Isis) yürütülebilir okunabilir bir format iken Proteus Isis gibi PC simülasyon yazılımlarınızda da çalışabilir.. Bu kapsamda seri protokolde iki temel hata ayıklama türünü ele alacağız,

1. Yumuşak Seri Hata Ayıklama:

Bu yöntemde, Proteus ISIS gibi bazı yararlı yazılımlar aracılığıyla PC'de her test ve hata ayıklama yapılır. CloudX temel olarak COFF dosyası oluşturduğundan, bunu PC simülasyonu için kullanmanızı öneririm çünkü bununla temelde kod satırları arasında adım atabilir ve bir sorunun nereden geldiğini anlayabilirsiniz ve kodunuzun adım atmadan çalışması gerekiyorsa, sanal terminali kullanarak "sanal Enstrüman modu" aracıyla, herhangi bir zamanda kontrolörün hangi hattın çalıştığını her zaman bilebilirsiniz. bu kod örneğine bir göz atalım,

Aşama 1:

resim
resim
resim
resim

/*

* Dosya: newmain.c

* Yazar: OGBOYE GODWIN * * 28 Haziran 2018, 10:15'te oluşturuldu */

#Dahil etmek

#Dahil etmek

/* Biz yapacağız

kırmızı pin1 yeşil pin2 sarı pin3 * buton pin4 */ char *tell= "hmmm, dokundum"; setup(){ pinMode(1, OUTPUT); pinMode(2, ÇIKIŞ); pinMode(3, ÇIKIŞ); pinMode(4, GİRİŞ); Seri_başlangıç(9600); loop(){ while(!readPin(4)); Serial_writeText(söyle); Serial_writeText("….kırmızıya dönüyor"); Seri_yazma (0x0D); portWrite(1, 0x00); pinSelect(1, YÜKSEK); gecikmeler(200); // tüm gecikmeleri yorumlamayı kaldırmayı deneyin ve ne olduğunu görün // sonra değiştirin (kesinlikle seveceksiniz!). while(!readPin(4)); Serial_writeText(söyle); Serial_writeText("….yeşile taşınıyor"); Seri_yazma (0x0D); portWrite(1, 0x00); pinSelect(2, YÜKSEK); gecikmeler(200); // tüm gecikmeleri yorumlamayı kaldırmayı deneyin ve ne olduğunu görün // sonra değiştirin (kesinlikle seveceksiniz!).

while(!readPin(4));

Serial_writeText(söyle); Serial_writeText("….sarıya dönüyor"); Seri_yazma (0x0D); portWrite(1, 0x00); pinSelect(3, YÜKSEK); gecikmeler(200); // tüm gecikmeleri yorumlamayı kaldırmayı deneyin ve ne olduğunu görün // sonra değiştirin (kesinlikle seveceksiniz!). } }

Bununla, gecikmeyi kaldırırsanız Seri hata ayıklamanın ne kadar önemli olduğunu görebilirsiniz. Bunu yapmış olsaydınız, bu gecikmeler olmadan gerçek dünyada yürütülürse, bu basit kodun ne kadar zahmetli olabileceğini görürdünüz.

Adım 2:

resim
resim
resim
resim
resim
resim

2. Donanım Hata Ayıklama:

Bu yöntemde, her test ve hata ayıklama, CloudX prototip kartını softCard kullanarak ve CloudX IDE'nin seri terminali (önerilen) veya Proteus ISIS compim, realTerm, vb. gibi bazı diğer kullanışlı yazılımlar kullanılarak PC'ye takılarak yapılır. COFF Oluşturun file burada kullanılamaz çünkü bu yöntem HEX'in donanıma yüklenmesini gerektirir, bunu CloudX softcard için kullanmanızı öneririm. Kodunuzun adım atmadan çalıştığını unutmayın, böylece herhangi bir zamanda seri çıkışla denetleyicinin hangi hattın çalıştığını her zaman bilirsiniz. hadi bu koda bir göz atalım, yukarıda listelenen aynı örnek, donanımınızı benim kırmızı LED'ime benzeyecek şekilde ayarlayın --------- pin1 yeşil LED'e --------- pin2 sarı LED'e -- ------- pin3 düğmesi --------- pin4

Aşama 3:

resim
resim

adımlar

1. Yukarıdakiyle aynı kodu kullanın

2. panonuza önyükleme yapın

3. Araç çubuğundaki "seri" düğmesine tıklayarak CloudX seri Terminalini başlatın

4. istenen bağlantı noktasını ve baud hızını seçin (bu eğitimde 9600)

5. Bağlan'a tıklayarak terminali başlatın (çıkmak isterseniz bağlantıyı kesin)

6. Port açık/bağlıyken, anlık olarak düğmeye basın ve terminal pencerelerinde gösterilen seri çıkışı göreceksiniz. Kodda gecikmeler varsa, ellerinizi düğmeden çekmeden önce birden fazla seri çıktı satırının kontrolsüz bir şekilde çok hızlı bir şekilde çalışacağını unutmayın. Kodunuzda herhangi bir nedenle buna benzer bir sorun yaşıyorsanız, hata ayıklamak için her zaman bu yöntemi kullanabilirsiniz.

Önerilen: