December 5, 2021

Blogna Kang U-2 Man

STM32, Embedded System, Microcontroller, ARM Cortex-M, RTOS, FreeRTOS

Blue Pill + STM32CubeIDE: Mengendalikan LED dengan UART

1 min read

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم

Tutorial kali ini akan menunjukan bagaimana menggunakan interupsi serial (UART) saat penerimaan data. UART kemudian digunakan untuk mengendalikan LED melalui PC.

Langsung saja di-lihat melalui video tutorial berikut ini

Beberapa catatan mengenai Interupsi Serial
Fungsi penerimaan data serial melalui UART harus dipanggil saat awal program, dan harus dipanggil kembali agar interupsi berikutnya bisa ditangani. Dalam contoh program tutorial ini, fungsi penerimaan serial (HAL_UART_Receive_IT) dipanggil kembali di fungsi callback interupsi serial. Namun saat dicoba dijalankan setelah bisa menerima beberapa kali interupsi serial, kemudian menjadi tidak bisa menerima. Akhirnya fungsi ini dipanggil di loop utama.

Fungsi penerimaan data serial, melalui atau tanpa interupsi, membutuhkan panjang data tertentu. Dalam aplikasinya, misal untuk menangani protokol komunikasi tertentu, panjang data bisa bervariasi. Untuk kasus ini, fungsi penerimaan data bisa digunakan hanya 1 byte, untuk kemudian di-copy-kan ke buffer yang lain dan diproses setelah satu frame data lengkap diterima. Seperti dalam contoh tutorial kali ini.

Dalam komunikasi, protokol menjadi sesuatu yang sangat penting. Harus ada kesepakatan mengenai protokol yang digunakan antara pengirim dan penerima. Sebagai contoh saat berkomunikasi dengan perangkat sensor industri bisa menggunakan protokol modbus, saat berkomunikasi dengan modem maka digunakan protokol AT Command. Dalam tutorial kali ini digunakan protokol sederhana, menggunakan data ASCII dengan karakter delimitter (tanda #). Untuk memparsing datanya digunakan fungsi sederhana. Fungsi ini juga bisa digunakan untuk memparsing data ASCII dengan format yang sama (menggunakan delimitter).

Source code dari tutorial ini bisa di-download di sini

Semoga bermanfaat.

Visits: 5 Visits: 97938

Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright © All rights reserved. | Newsphere by AF themes.