Tuesday, 30 December 2014

printf menggunakan CDC

Antara ciri-ciri yang terdapat di dalam PIC18F4550 adalah mendukung USB peripheral. Terima kasih kepada Microchip Application Library (MLA) kerana menyediakan contoh applikasi untuk menggunakan PIC18F4550 sebagai USB-to-UART converter melalui Communication Device Classes (CDC).

Contoh applikasi ini boleh diambil dari MLA versi v2013-06-15. Cara guna MLA untuk PIC18F4550 boleh rujuk disini.

tambah
1. stdout = _H_USER
2. Function:-
i)// Private API
void usb_puts(char *buf) {
if ((USBDeviceState >= CONFIGURED_STATE) && (USBSuspendControl != 1)) {
int i;

for(i = 1000; i > 0; --i) {
if(mUSBUSARTIsTxTrfReady()) break;
CDCTxService();
}
if (i > 0) {
  putsUSBUSART(buf);
CDCTxService();
}
}
return;
}

ii)
int _user_putc(char c) {
char buf[2];

buf[0] = c;
buf[1] = '\0';
usb_puts(buf);
return(c);
}

Setelah tambah TIGA (3) item ini ke dalam main.c, maka arahan printf boleh digunakan untuk menghantar mesej melalui USB port ke HyperTerminal.

contoh program boleh download disini

No comments:

Post a Comment