06-17-2012 10:27 AM
Salam kenal,
Saya memiliki device berupa PIC18F4550. Sebagai latihan komunikasi melalui USB, saya mencoba untuk menyalakan LED sebagai latihan. Untuk program yang ditanam dalam PIC sudah ada, dimana saya mendapatkannya dari tutorial-tutorial USB. Sedangkan untuk program pada PC sebagai pengontrol PIC, saya ingin menggunakan LabVIEW. Pada find examples software LabVIEW, saya melihat ada 3 contoh program dasar untuk komunikasi USB dan saya ingin menggunakan yang USB RAW - Bulk.vi sebagai program komunikasinya. Program ini juga saya temukan pada link "http://zone.ni.com/devzone/cda/epd/p/id/3622". Tetapi saya kebingungan dalam memanfaatkan program USB RAW tersebut untuk memberikan perintah ke PIC untuk menyelakan LED.
Ini adalah rangkaian PIC yang saya gunakan:
yang saya ingin lakukan adalah mengontrol LED3 dengan mengirimkan perintah dari LabVIEW untuk dapat meng-on dan off-kan LED3 tersebut.
Poin-poin dalam Program utama yang ditulis dalam bahasa C yang ditanam dalam PIC untuk mengontrol LED3 tersebut adalah:
#define LED3 PORTBbits.RB3
#define TURN_LED3_OFF 0x80 // use with g_fromHostToDeviceBuffer[1]
#define TURN_LED3_ON 0x81
#pragma udata USB_VARS
BYTE g_fromHostToDeviceBuffer[65]; // Out Buffer
BYTE g_fromDeviceToHostBuffer[65]; // In Buffer
#pragma udata // end of #pragma udata USB_VARS
if(g_buffDescTable[2].STAT.UOWN == 0) { // verify USB circuitry does not own from host USB buffer
transferFromHostToDeviceViaEP1((BYTE*)&g_fromHostToDeviceBuffer[1], 64); // get packet from host
if(g_fromHostToDeviceBuffer[1] == TURN_LED3_ON) { // if received 0x80
LED3 = 1; // turn LED3 on
} else if(g_fromHostToDeviceBuffer[1] == TURN_LED3_OFF) { // else if received 0x81
LED3 = 0; // turn LED3 off
} else {
// should never get here
}
if(g_fromHostToDeviceBuffer[2] == USE_DEBUG_LEDS) { // if check box indicating to show drop down combo box value on LEDs is checked
showByteOnLEDs(g_fromHostToDeviceBuffer[3]); // then show value from combo box on debug LEDs
Sedangkan program LabVIEW yang ingin saya gunakan adalah:
Apabila saya ingin mengembangkan progran LabVIEW ini untuk mengontrol LED3 pada PIC tersebut, bagaimanakah caranya??
Jika program LabVIEW tersebut tidak bisa atau sulit, adakah program lain yang bisa saya gunakan??
Mohon bantuan dan bimbingannya...
Terimakasih Banyak...
Hormat saya,
Vani
06-18-2012 06:46 PM
menarik.
- itu image nya tidak bisa kebuka mas. Mohon re upload.
- dari PIC nya menjadi USB, pakai IC apa? Ada datasheetnya? Koneksi seperti apa?
06-19-2012 10:18 AM
Oke, saya attach Pak gambar rangkaiannya dan juga datasheetnya PIC18F4550... Untuk gambar programnya ada attach file sebelumnya.
Untuk koneksi USB, saya tidak menggunakan IC sebagai konversinya karena sudah tersedia pin untuk interface USB pada PIC18F4550. Jadi koneksinya langsung dari pin D+ dan D- pada PIC18F4550 terhubung ke konektor USB Labtop Pak. Bagaimana solusinya menurut Pak Krisna? Mohon bimbingannya.
Terimakasih
Vani
06-20-2012 05:16 AM
Halo Rachmad,
Saya bukan expert di USB ya karena saya juga belum pernah interface dengan USB pakai Bulk USB Raw. Setelah saya cek, yang paka LabVIEW langsung belum ada contohnya, tapi ini ada yang pakai CVI (ini versi Cnya LabVIEW), berikut ini diskusinya:
Disitu ada contoh:
- program PIC nya
- program CVI nya. Untuk CVInya, bisa di convert ke dalam LabVIEW kok, saya kasih salah satu contohnya ya:
CVI: viSetBuf (instr, VI_WRITE_BUF, 64);
LabVIEW:
Kalau sudah ada contoh jalan, ya tinggal dicoba aja contoh itu, kalau sudah sukses baru dioprek2 sesuai kebutuhan anda. Semoga membantu dan kabari tim disini.
06-21-2012 04:41 AM
Oke Pak Krisna.
Terimakasih bantuannya.
Akan saya coba dan pelajari dulu,, nanti hasilnya saya kabari.
Vani