Apabila anda ingin membuat aturcara yang complex dan panjang, sudah tentu banyak kesilapan yang mungkin berlaku. Sekiranya "error" berlaku, anda sebagai programmer perlu fikirkan cara untuk "Debug" (locating and fix the error code).
Pada post ini saya ingin memperkenalkan satu lagi teknik untuk Debug iaitu menggunakan Virtual Terminal-by software(Rajah 1) manakala hyperTerminal-by hardware(Rajah 2). Untuk maklumat lanjut tentang Vitual Terminal Klik Disini.
Rajah 1: Virtual Terminal dalam ISIS Professional
Rajah 2: HyperTerminal
Untuk tujuan itu, PIC18F akan disambungkan ke Virtual Terminal dan hantar mesej ke Virtual Terminal melalui UART protocol. Justeru, pada post ini anda akan didedahkan dengan:-
- Cara configure PIC18F supaya boleh hantar dan terima data melalui UART protocol.
- Redirect arahan printf ke UART. Teknik ini khas untuk C18 Compiler.
Nota Tambahan tentang UART klik disini.
Untuk perbincangan pada kali ini, protocol UART akan ditetapkan kepada:-
a) Baud Rate 9600 bps
b) Size data 8-bit
Oleh yang demikian, programmer perlu lakukan tetapan ini pada registers yang berkaitan. Berikut adalah contoh C code untuk initialize UART:
Code 1: function uart_initialize()
p/s: Saya beranggapan pembaca sudah tahu cara buat function dalam C program.
Seterusnya, bagi membolehkan C18 compiler Redirect arahanan printf ke UART, programmer perlu include beberapa standard library seperti berikut:
Code 2: #include related header file
Merujuk kepada keratan code 2 diatas, stdio.h membolehkan arahan printf boleh dipanggil manakala usart.h membolehkan keluaran daripada arahan printf dikeluarkan melalui kaki UART PIC18F4550.
Justeru, programmer boleh memaparkan mesej di Virtual Terminal / HyperTerminal untuk tujuan debugging program.
Bersama post ini dilampirkan contoh project. Sila download disini.
No comments:
Post a Comment