Anda di halaman 1dari 21

Pengenalan Embedded

Programming dengan
STM32 & PlatformIO

PT. INFOGLOBAL
Apa itu Embedded Programming?

Cross compile code/ program agar diterjemahkan ke dalam Instruction Set (Assembly) suatu
Embedded System.

Biasanya toolchain dikeluarkan kepada developer berupa C atau C++.

STM32 salah satu chip/IC dari ST-Microelectronic yang mampu melakukan tugas embedded
system sebagai Single Chip System/Controller.
Pengenalan C (Bag 1)
● C/C++ IF .. ELSE statement
Pengenalan C (Bag 2)
● C/C++ For (loop) statement
Pengenalan C (Bag 3)
● C/C++ Function
Black Pill STM32 (STM32-F103C8T6)
Apa itu PlatformIO ?

Adalah salah satu tools Embedded Programming yang memudahkan developer untuk
melakukan setting & cross compile di berbagai host OS.

Keuntungan:

1. Multi OS dengan memanfaatkan Visual Studio Code.


2. Support ratusan embedded board. (Arduino Uno, STM32 Discovery series, Raspberry Pi,
dsb).
3. Support berbagai macam framework / coding base style. (Arduino style, HAL STM32,
Native Linux, dsb).
4. Setting mudah dilakukan & auto download toolchain + library.
Setting Platformio pada Visual Studio Code

1. Install & Run VScode


2. Search & Install PlatformIO extension.
3. Restart VScode setelah install extension.
4. Jika PlatformIO sudah terinstall dengan
benar harusnya akan otomatis menampilkan
menu utama. Muncul toolbar seperti gambar
di samping.
Setting Platformio untuk Black Pill STM32

1. Pada HOME Platformio Menu pilih > +


New Project. Project Wizard akan muncul.
2. Name diisi > “blink_f103c8”
3. Select Board pilih > BlackPill F103C8
4. Framework pilih > Arduino
5. Jika “Use default location” dicentang.
Maka lokasi penyimpanan project bisa
dilihat pada saat meng-highlight “?”
6. Klik Finish. Seluruh dependency +
toolchain akan di download otomatis
(online).
Format Workspace PlatformIO

1. .pio + .vscode > Auto generate file setting.


2. Include > Tempat code file header “.h, .hpp”
3. Lib > Tempat seluruh library. Contoh : Sensor,
LCD, dsb.
4. Src > Tempat seluruh file “.c, .cpp”
5. Test > Unit testing
6. Platformio.ini > tempat mengubah setting
compiler, IC, framework, baudrate. Lebih
jelasnya dapat dilihat di website platformIO.
Apa itu Arduino Framework?
Arduino Framework merupakan C++. Jadi seluruh program C++ akan berjalan seperti biasa,
atau menggunakan C dengan perlakuan khusus (extern C) bisa di includekan ke dalam program.
Arduino menggunakan 2 fungsi setup() & loop() yang sebenarnya merupakan extern dari fungsi
di dalam int main(void).
Program GPIO Output
Compile & Flash

1. Klik pada toolbar untuk mulai meng-compile program.


2. Pastikan koneksi USB Programmer (ST-Link) dengan board STM32 Black Pill.
ST-LINK BLACKPILL

3.3V V3

SWDIO IO

SWDCLK CLK

GND G

3. Klik pada toolbar untuk mulai flash. Bila berhasil BlackPill akan berkedip.
Program GPIO Input Output
1. Pasang push button pada pin P8 dan
GND.
2. Buat New Project dengan nama >
“button_in_led_out”
3. Edit main.cpp
4. Flash
Program GPIO Input Output dengan
Interrupt

1. Buat New Project dengan nama


> “gpio_interrupt”
2. Edit main.cpp
3. Flash
Program Virtual Com Port
1. Buat New Project dengan nama >
“vcp_hello_world”
2. Edit main.cpp
Platformio.ini untuk VCP project

3. Edit platformio.ini
4. Flash.
5. Pasang Micro USB ke BlackPill
6. Sesuaikan port terminal di
platformio.ini
7. Klik untuk membuka serial
terminal
8. Bila berhasil terminal akan
menerima data komunikasi.
Program input output dengan VCP

1. Buat New Project dengan


nama > “vcp_case_convert”
2. Edit main.cpp
3. Flash
4. Sesuaikan port terminal di
platformio.ini
5. Klik untuk membuka
serial terminal
6. Ketik pada terminal untuk
melakukan konversi case
TUGAS 1 - 15 Menit

Buatlah program blink tiap satu detik, yang ketika tombol ditekan blink akan berhenti. Dan
ketika tombol ditekan kedua kali blink akan jalan kembali (Tombol sebagai enable/disable blink).
Tombol menggunakan interrupt.
TUGAS 2 - 15 Menit

Seluruh program pada TUGAS 1, ditambahkan program jika tombol ditekan terlalu lama > 5
detik akan keluar notifikasi melalui VCP.
TERIMA KASIH

Anda mungkin juga menyukai