 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
kle-man Član


Pridružen-a: Tor 21 Okt 2008 17:31 Prispevkov: 14 Aktiv.: 0.07 Kraj: Ilirska Bistrica
|
Objavljeno: Tor Feb 23, 2010 9:54 pm Naslov sporočila: Komunikacija s PC-jem prek USB-ja P18F4550 |
|
|
Pozdravljeni!
Imam sledeči problem. Začel sem se igrati z P18f4550, vendar mi programiranje ravno ne gre.
Želim narediti komunikacijo s PC-jem, tako da bi priključil par tipk na PIC in bi se te
obnašale kot tipkovnica. Dobil sem en sample program na mikroe, vendar mi ne deluje.
Ko priključim PIC na PC mi ga sicer zazna kakor HID, vendar pa ne izpiše ničesar.
Prosil bi vas za pomoč, saj nevem več kaj naj naredim.
Uporabljam easyPic4, gor je 8 Mhz oscilator.
še sorce programa:
unsigned char k;
unsigned char userWR_buffer[64];
const char *text = "MIKROElektronika Compilers ER \r\n";
//**************************************************************************************************
// Main Interrupt Routine
//**************************************************************************************************
void interrupt()
{
HID_InterruptProc();
}
//**************************************************************************************************
//**************************************************************************************************
// Initialization Routine
//**************************************************************************************************
void Init_Main()
{
//--------------------------------------
// Disable all interrupts
//--------------------------------------
INTCON = 0; // Disable GIE, PEIE, TMR0IE,INT0IE,RBIE
INTCON2 = 0xF5;
INTCON3 = 0xC0;
RCON.IPEN = 0; // Disable Priority Levels on interrupts
PIE1 = 0;
PIE2 = 0;
PIR1 = 0;
PIR2 = 0;
ADCON1 |= 0x0F; // Configure all ports with analog function as digital
CMCON |= 7; // Disable comparators
//--------------------------------------
// Ports Configuration
//--------------------------------------
TRISA = 0xFF;
TRISB = 0xFF;
TRISC = 0xFF;
TRISD = 0;
TRISE = 0x07;
LATA = 0;
LATB = 0;
LATC = 0;
LATD = 0;
LATE = 0;
//--------------------------------------
// Clear user RAM
// Banks [00 .. 07] ( 8 x 256 = 2048 Bytes )
//--------------------------------------
}
//**************************************************************************************************
//**************************************************************************************************
// Main Program Routine
//**************************************************************************************************
void main() {
char i;
Init_Main();
HID_Enable(&userWR_buffer, &userWR_buffer);
Delay_ms(1000);
Delay_ms(1000);
while(1) {
Delay_ms(1000);
i=0;
while(text[i]) {
userWR_buffer[0]= text[i++];
while (!HID_Write(&userWR_buffer, 1));
}
}
Delay_ms(1000);
HID_Disable();
}
//************************************************************************************************** |
|
Nazaj na vrh |
|
 |
siliconray Član

Pridružen-a: Tor 12 Jun 2007 14:33 Prispevkov: 25 Aktiv.: 0.11 Kraj: Lj
|
Objavljeno: Tor Feb 23, 2010 10:05 pm Naslov sporočila: |
|
|
Kje na PC pričakuješ izpis? Imaš spisan driver za tvojo napravo? |
|
Nazaj na vrh |
|
 |
kle-man Član


Pridružen-a: Tor 21 Okt 2008 17:31 Prispevkov: 14 Aktiv.: 0.07 Kraj: Ilirska Bistrica
|
Objavljeno: Tor Feb 23, 2010 10:18 pm Naslov sporočila: |
|
|
Izpis bi ubistvu pričakoval isto kot tipkovnica - sepravi odpreš notepa, pritisneš tipko
in izpiše se ti A. To ubistvu želim doseči.
Driverja na PC-ju nimam spisanega, ker sem mislil da bo HID dovolj, oz. da so že notri
knjižnice za tipkovnico, itd...
Ali sem se zmotil? Bom useeno mogu napisati driver za pic na PC-ju? |
|
Nazaj na vrh |
|
 |
bungee Član


Pridružen-a: Pon 07 Mar 2005 18:49 Prispevkov: 1479 Aktiv.: 6.24 Kraj: Ljubljana
|
Objavljeno: Tor Feb 23, 2010 10:29 pm Naslov sporočila: |
|
|
Svojo HID napravo moraš po USB standardu deklarirati kot tipkovnico in potem bi bo to kar si se spravil naredit delovalo.
Preden nadaljuješ se posveti branju TULE |
|
Nazaj na vrh |
|
 |
kle-man Član


Pridružen-a: Tor 21 Okt 2008 17:31 Prispevkov: 14 Aktiv.: 0.07 Kraj: Ilirska Bistrica
|
Objavljeno: Tor Feb 23, 2010 11:10 pm Naslov sporočila: |
|
|
Hvala za odgovore!
Na uradni usb strani sem že gledal, vedar mi še zdaj ni jasno, kako naj u pic stlačim
kodo, da jo bo zaznalo kot tipkovnico. Na strani je sicer razloženo kako naj bi tipkovnica delovala vendar nevem kako naj tisto povežem s picom.
Na začetku sem mislil, da se že tisti ukazi (Hid_write) ki so orginalno v picu, obnašajo
kot nekakšna tipkovnica (sample programi tudi napeljujejo na to)
Torej to ni res?
Na forumu sem prebral, da se je že veliko članov ukvarjalo s tem in to uspešno.
A je mogoče kdo imel podoben problem?
Lp, Klemen |
|
Nazaj na vrh |
|
 |
. Neznanec

Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Sre Feb 24, 2010 12:28 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
bungee Član


Pridružen-a: Pon 07 Mar 2005 18:49 Prispevkov: 1479 Aktiv.: 6.24 Kraj: Ljubljana
|
Objavljeno: Sre Feb 24, 2010 12:56 am Naslov sporočila: |
|
|
Malo še preberi manual (MikroC)....
Citiram: |
Each project based on the USB HID library should include a descriptor source file which contains vendor id and name, product id and name, report length, and other relevant information..... |
stran 559  |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 494 dni
Powered by phpBB © 2001, 2005 phpBB Group
|