Está en la página 1de 4

DT-AVR Neo LCNS Application Note

How2Use 2 DT-AVR Neo LCNS


Oleh: Tim IE

Application Note (AN) ini disusun untuk memberikan penjelasan tentang cara penggunaan rutin CDC
(Communication Device Class) pada DT-AVR Neo LCNS. Program aplikasi ini menggunakan bahasa C
dengan menggunakan AVR Studio (AN ini menggunakan versi 4.18), WinAVR, dan Atmel FLexible In-system
Programmer (FLIP) sebagai aplikasi untuk mengisi kode program hex ke DT-AVR Neo LCNS.

1. Langkah-langkah Mengolah File CDC


a) Ketentuan folder mapping dan cara menempatkan file.
Sebagai contoh, gandakan folder Atmel yang terdapat pada folder at90usb162 [with example
code] (terdapat dalam CD/DVD) pada drive C di komputer. Berikut ini file yang mendukung
komunikasi CDC.

- cdc_task.c - at90usb162_quickstart_drv.h - uart_bdr.h


- main.c - cdc_task.h - uart_lib.h
- power_drv.c - compiler.h - uart_usb_lib.h
- scheduler.c - conf_scheduler.h - usb_descriptors.h
- spi_lib.c - conf_usb.h - usb_device_task.h
- timer16_drv.c - config.h - usb_drv.h
- timer8_drv.c - mcu.h - timer16_drv.h
- uart_lib.c - pll_drv.h - timer8_drv.h
- uart_usb_lib.c - power_drv.h - usb_task.h
- usb_descriptors.c - scheduler.h - usb_task.h
- usb_device_task.c - spi_drv.h - wdt_drv.h
- usb_drv.c - spi_lib.h - usb_specific_request.c
- stk_526.h - usb_standart_request.c - usb_standard_request.h
- usb_task.c - usb_specific_request.h

b) Menambahkan header file pada program.


Jalankan program cdc-DT-AVR_NEO_LCNS.aps yang terdapat pada folder C:\Atmel\at90usb162-
cdc-1_0_1\at90usb162\demo\cdc\gcc.
Buka main.c dan tambahkan file berikut:
• config.h
• modules/scheduler/scheduler.h
• lib_mcu/wdt/wdt_drv.h
• lib_mcu/power/power_drv.h
• lib_mcu/usb/usb_drv.h
• cdc_task.h

Gambar 1
Menempatkan Header File pada Main.c

2. Menempatkan dan Menggunakan Fungsi pada Program Utama.


a) Menempatkan program aplikasi lain pada main.c, tanpa menggunakan fungsi komunikasi serial.
Penguna dapat menambahkan program aplikasi lain sesuai keinginan dengan menempatkan pada

Page 1 of 4 Application Note How2Use 2 DT-AVR Neo LCNS


bagian setelah while (1). Gambar 2 adalah contoh penulisan program tersebut.

Gambar 2
Aplikasi pada Program Utama tanpa Komunikasi Serial

b) Menggunakan fungsi komunikasi serial: nonaktifkan fungsi Clear_prescaler(), scheduler(), dan


return 0, serta tambahkan tulisan scheduler_init(), usb_task(), dan cdc_task() pada main.c.
Sebagai contoh dapat dilihat pada gambar 3, 4, dan 5.

Gambar 3
Nonaktifkan Fungsi Clear_prescaler(), Scheduler(), dan Return 0

Gambar 4
Penempatan Fungsi Scheduler_init() pada Main.c

Gambar 5
Penempatan Fungsi Usb_task() dan Cdc_task() pada Main.c

Dalam penggunaan komunikasi serial akan selalu melibatkan fungsi scheduler_int(), usb_task(),
dan cdc_task(). Fungsi scheduler_int() dapat sekali saja dideklarasikan pada awal program setelah
int main(void) (dapat dilihat pada gambar 4). Fungsi usb_task() dan cdc_task() harus ditempatkan

Page 2 of 4 Application Note How2Use 2 DT-AVR Neo LCNS


selalu bersamaan serta berurutan seperti tampak pada gambar 5.
Pada gambar 5 terdapat tulisan get, get adalah nama sebuah variabel global 8-bit yang difungsikan
untuk menampung data yang dikirimkan dari PC. Pada gambar 6 terdapat potongan program yang
digunakan untuk proses looping data komunikasi serial. Pengguna dapat mengembangkan program
dengan memanfaatkan bagian tersebut.

Gambar 6
Fungsi Cdc_task()

c) Menempatkan program aplikasi lain dengan menggunakan fungsi komunikasi serial pada program
utama. Untuk menggunakan fungsi komunikasi serial, pengguna diharuskan menggunakan fungsi
scheduler_int(), usb_task(), dan cdc_task(). Sebagai contoh dapat dilihat pada gambar 7.

Gambar 7
Gabungan Program Aplikasi USB to UART dan Program Aplikasi Lain pada Program Utama

3. Setelah selesai membuat program, selanjutnya lakukan proses download. Proses ini dapat dilakukan
menggunakan FLIP atau aplikasi lain yang mendukung.

Page 3 of 4 Application Note How2Use 2 DT-AVR Neo LCNS


Listing program terdapat pada folder at90usb162[firmware only] (hanya CDC) dan at90usb162[with
example code] (CDC + program uji).

Selamat berinovasi!
Atmel is registered trademarks of Atmel Corporation
AVR Studio is copyright by Atmel Corporation.
WinAVR is a trademark of SourceForge, Inc.
FLexible In-system Programmer is copyright by Atmel Corporation.

Page 4 of 4 Application Note How2Use 2 DT-AVR Neo LCNS

También podría gustarte