Advertisement

Tutorial STM32 – 3 : Hello World dengan CooCox IDE

2 5,564

stm1-520x190Setelah sebelumnya kita mensetup environment yang diperlukan untuk memprogram mikrokontroler STM32. Kali ini kita akan membuat program pertama, yang biasanya disebut dengan Hello World, objective program ini sederhana sekali, yaitu membuat  LED berkedip – kedip.

Dalam tulisan ini saya menggunakan minimum system STM32F103C8T6, jika belum punya, anda bisa membelinya di sini. Untuk menghindari pengulangan, saya mengansumsikan anda telah membaca tutorial sebelumnya, jika belum, silahkan baca terlebih dahulu.

  1. Tutorial STM32 -1 : Pertemuan Pertama
  2. Tutorial STM32-2 : Mengatur Environment

Oke, pertama, jalankan Coocox CoIDE pada komputer anda. Klik pada toolbar Project > New Project.

watermarked-hello1

Setelah itu akan muncul jendela Repository berisi deretan nama – nama mikrokontroler STM32 berserta perusahaan manufaktur yang merilisnya.

watermarked-hello2

Karena pada seri tutorial ini saya menggunakan STM32F103C8T6 dari ST maka saya mengklik ini, kemudian balon menu akan muncul, pilih New Project

watermarked-hello3

Pada Jendela Dialog New Project, isi Project Name dengan nama Project, misalkan Hello World. Project Path adalah tempat dimana project disimpan, sesuaikan dengan keinginan anda. setelah itu klik Finish

Langkah berikutnya adalah memilih Library yang akan digunakan dalam pemrograman. Pada jendela Repository, tambahkan, dengan mengklik button add, library berikut

  1. coocox-master / cmsis_core
  2. coocox-master / STM32F10x_MD_STDLIB

Jika anda tidak menemukan, kemungkinan library tersebut berada pada halaman selanjutnya, klik next pada pojok kanan bawah jendela repository. Pastikan pada view Project memiliki tampilan seperti berikut.

watermarked-hello4

Untuk membuat program utama, klik dua kali file main.c lalu tulis kode sumber sebagai berikut


#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
GPIO_InitTypeDef GPIO_InitStructure;
void wait_ms(int t){
volatile int i;
for (i=0;i<t*2000;i++);
}
void setup_gpio(){
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All ;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
int main(void){
setup_gpio();
while(1){
GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_SET);
wait_ms(100);
GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_RESET);
wait_ms(100);
}
}
view raw

main.c

hosted with ❤ by GitHub

Saya akan menjelaskan perintah – perintah program ini secara detail di tutorial selanjutnya. Secara garis besar, program ini terdiri dari 2 function. function pertama, adalah setup_gpio yang mensetup GPIOC sebagai keluaran. function kedua adalah wait_ms, yang bertujuan memberikan delay, dengan melakukan looping tanpa melakukan apa- apa. Pada akhirnya, super looping while(1) di main memerintahkan GPIOC 13 untuk memberikan logika 1 dan 0 bergantian dengan delay kira- kira 100 ms.

Mengapa GPIOC 13 ? Karena pada minimum system yang saya gunakan, sudah tersedia LED test built in (di sebelah led indikator power) yang tersambung pada GPIOC 13 sehingga saya tidak usah menggunakan led tambahan dan kabel jumper  untuk membuat program hello world kali ini.

Oke, kini hubungkan mikrokontroler STM32, dengan ST-LINK V2 dan sambungkan dengan komputer, sebagaimana tutorial sebelumnya. Pastikan jumper boot0 dan boot1 pada STM32 berada pada posisi 00. Jika anda belum memiliki ST-LINK V2 saya sarankan anda membeli satu di sini.

download (1)

Pilih Project > Build, untuk mengcompile program, pada console di bagian bawah muncul tulisan berikut.

[simterm]

GCC HOME: C:/Program Files (x86)/GNU Tools ARM Embedded/5.3 2016q1/bin
compile:
….

….

Program Size:
text data bss dec hex filename
4952 1120 32 6104 17d8 HelloWorld.elf

BUILD SUCCESSFUL
Total time: 8 seconds

[/simterm]

oke, tidak ada error. Kini download program dengan mengklik Flash > Program Download

Erase: Done
Program: Done
Verify: Done

Jika muncul tulisan tersebut, berarti selamat, program anda telah selesei didownload pada mikrokontroler dan kini mikrokontroler melakukan instruksi yang anda berikan pada program yakni LED test yang terhubung dengan Port C 13 akan berkedip kedip

Baca juga tulisan tentang #Tutorial Mikrokontroler STM32 atau tulisan menarik lainnya di kategori Mikrokontroler  ARM 32 bit
2 Komentar
  1. […] relatif paham mengenai register -register yang terlibat dalam GPIO, kini waktunya kita membedah program hello world yang telah dibuat dalam pertemuan ke 3. embeddednesia sangat menyarankan anda membaca terlebih dahulu tulisan embeddednesia sebelumnya […]

  2. […] berhasil terhubung, maka kini anda siap mengunduh program ke mikrokontroler menggunakan aplikasi CooCox CoIDE seperti pernah diulas dalam seri tutorial Mikrokontroler STM32, namun terlebih dahulu putuskan koneksi dengan STLINK dengan mengklik icon Disconnect From The […]

Tinggalkan Balasan

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses