Daftar Isi:

Debugging Serial Dengan CloudX: 3 Langkah
Debugging Serial Dengan CloudX: 3 Langkah

Video: Debugging Serial Dengan CloudX: 3 Langkah

Video: Debugging Serial Dengan CloudX: 3 Langkah
Video: STM32 (stm32f103c8) Serial wire debug -- STM32CubeIDE 2024, November
Anonim
Debug Serial Dengan CloudX
Debug Serial Dengan CloudX

Dalam proyek ini, saya bertujuan untuk menjelaskan konsep debugging melalui terminal serial. Tapi pertama-tama sebagai permulaan, mari kita jelaskan konsepnya melalui maknanya.

1. komunikasi serial

komunikasi serial adalah untuk komunikasi antara papan CloudX dan komputer atau perangkat lain. Semua papan CloudX memiliki setidaknya satu port serial yang terlihat (juga dikenal sebagai UART atau USART): Serial. Ini berkomunikasi pada pin RX dan TX digital dengan perangkat keras lain atau modul komunikasi serial (seperti gsm dan gps) seperti dengan komputer melalui USB menggunakan SoftCard. Jadi, jika Anda menggunakan fungsi ini, Anda juga tidak dapat menggunakan TX dan RX untuk input atau output digital. Anda dapat menggunakan monitor serial bawaan lingkungan CloudX untuk berkomunikasi dengan papan CloudX. Klik tombol serial monitor di toolbar dan pilih baud rate yang sama yang digunakan dalam parameter yang dipanggil ke serialBegin().

2. Debug

Debugging berarti mengidentifikasi dan menghapus kesalahan dari (perangkat keras atau perangkat lunak komputer). Debugging melibatkan menemukan dan mengoreksi kesalahan kode dalam program komputer. Debugging adalah bagian dari proses pengujian perangkat lunak dan merupakan bagian integral dari seluruh siklus hidup pengembangan perangkat lunak. Mari kita ambil contoh bahwa kode Anda telah berhasil dikompilasi dan Anda menguji perangkat keras Anda dan tidak berfungsi seperti yang diharapkan, meskipun ada banyak cara untuk men-debug kode Anda; cara yang sederhana dan efektif untuk men-debug itu adalah melalui penggunaan serial debugging. CloudX IDE menghasilkan 2 jenis file pada kompilasi yang berhasil, file HEX dan COFF. File HEX benar-benar kode mesin yang di-boot ke papan untuk dieksekusi di dunia nyata tetapi juga dapat berjalan pada perangkat lunak simulasi PC Anda seperti Proteus Isis sedangkan file COFF adalah format yang dapat dibaca yang dapat dieksekusi pada perangkat lunak simulasi PC Anda (Proteus Isis). Untuk ruang lingkup ini kami akan mempertimbangkan dua tipe dasar debugging pada protokol serial,

1. Debug Serial Lembut:

Dalam metode ini, setiap pengujian dan debugging dilakukan pada PC melalui beberapa perangkat lunak yang berguna seperti Proteus ISIS. Karena CloudX pada dasarnya menghasilkan file COFF, saya sarankan menggunakan ini untuk simulasi PC karena dengannya Anda pada dasarnya dapat melangkah di antara baris kode dan mencari dari mana masalah berasal, dan jika kode Anda harus berjalan tanpa melangkah, menggunakan virtual teminal dari "virtual alat mode instrumen", Anda selalu dapat mengetahui di mana jalur pengontrol berjalan pada waktu tertentu. mari kita lihat contoh kode ini,

Langkah 1:

Gambar
Gambar
Gambar
Gambar

/*

* File: newmain.c

* Penulis: OGBOYE GODWIN * * Dibuat pada 28 Juni 2018, 10:15 */

#termasuk

#termasuk

/* kita akan membuat

pin1 merah pin2 kuning pin3 * tombol pin4 */ char *tell= "hmmm, saya telah menyentuh"; setup(){ pinMode(1, OUTPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, INPUT); Serial_begin(9600); loop(){ while(!readPin(4)); Serial_writeText(beri tahu); Serial_writeText("….pindah ke merah"); Serial_write (0x0D); portWrite(1, 0x00); pinPilih(1, TINGGI); penundaan (200); // coba hapus semua penundaan komentar dan lihat apa yang terjadi // lalu ganti (Anda pasti akan menyukainya!). while(!readPin(4)); Serial_writeText(beri tahu); Serial_writeText("….pindah ke hijau"); Serial_write (0x0D); portWrite(1, 0x00); pinPilih(2, TINGGI); penundaan (200); // coba hapus semua penundaan komentar dan lihat apa yang terjadi // lalu ganti (Anda pasti akan menyukainya!).

while(!readPin(4));

Serial_writeText(beri tahu); Serial_writeText("….pindah ke kuning"); Serial_write (0x0D); portWrite(1, 0x00); pinPilih(3, TINGGI); penundaan (200); // coba hapus semua penundaan komentar dan lihat apa yang terjadi // lalu ganti (Anda pasti akan menyukainya!). } }

dengan ini Anda dapat melihat bagaimana debugging Serial penting jika Anda menghapus penundaan itu. jika Anda melakukannya, Anda akan melihat betapa merepotkannya kode sederhana itu jika dieksekusi di dunia nyata tanpa penundaan itu.

Langkah 2:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

2. Debug Perangkat Keras:

Dalam metode ini, setiap pengujian dan debugging dilakukan dengan menempelkan papan prototipe CloudX ke PC menggunakan softCard dan memanfaatkan terminal serial CloudX IDE (disarankan) atau beberapa perangkat lunak berguna lainnya seperti compim Proteus ISIS, realTerm, dll. Hasilkan COFF file tidak dapat digunakan di sini karena metode ini menuntut HEX bootload ke perangkat keras, saya sarankan menggunakan ini untuk softcard CloudX. Perhatikan bahwa kode Anda berjalan tanpa loncatan sehingga Anda selalu dapat mengetahui di mana baris mana yang dijalankan oleh pengontrol pada waktu tertentu oleh keluaran serial. mari kita lihat kode ini contoh yang sama yang tercantum di atas, atur perangkat keras Anda menjadi serupa untuk menambang LED merah --------- ke pin1 LED hijau --------- pin2 LED kuning -- ------- tombol pin3 --------- pin4

Langkah 3:

Gambar
Gambar

Langkah

1. Gunakan kode yang sama seperti di atas

2. bootload ke papan Anda

3. mulai Terminal serial CloudX dengan mengklik tombol "serial" di bilah alat

4. pilih port dan baud rate yang diinginkan (9600 dalam tutorial ini)

5.start terminal dengan mengklik connect (putuskan jika Anda ingin keluar)

6. dengan port terbuka/terhubung, tekan sebentar tombol sesuka hati dan Anda akan melihat serial output yang ditampilkan di terminal windows. Perhatikan bahwa jika Anda memiliki penundaan dari kode, Anda akan mendapatkan beberapa baris output serial berjalan begitu cepat tanpa kendali sebelum Anda melepaskan tangan Anda dari tombol. Jika karena alasan apa pun dalam kode Anda, Anda memiliki masalah seperti itu atau yang serupa, Anda selalu dapat menggunakan metode ini untuk men-debug.

Direkomendasikan: