18F2550 USB Pc'ye Veri Gönderme

Başlatan veliusta, 27 Şubat 2013, 20:20:07

veliusta

Herkese Merhaba Arkadaşlar,

Yapmak istediğim butonlara basıldığında vb6 ile yapılan program'a verinin iletilmesi. ama nasıl çalıştığını anlayamadım.

Nasıl çalıştığını ne işe yaradığını bilmiyorum.
Sizden yardımlarınızı bekliyorum.

VB6 kod ve prog;



CCS C kodları;
#include <18F2550.h>
#fuses NOMCLR,HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOPBADEN
#use delay(clock=48000000)

#DEFINE USB_HID_DEVICE TRUE

#define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT 
#define USB_EP1_TX_SIZE 8

#define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT 
#define USB_EP1_RX_SIZE 8

/*********************************************************************************************************/

#include <pic18_usb.h>
#include <USB_easyHID_descriptores.h>
#include <usb.c>

/**********************************************************************************************************/

void main() { 

int valor;
int envia[2];
int recibe[1];

set_tris_a (0b000001);
set_tris_b (0b00000000);
set_tris_c (0b01110101);

output_b(0x00);

//*****************************************************************************************************

usb_init_cs();

while(true) {
   usb_task(); // Configuramos el puerto USB.
   valor = ((input_c() & 0x45)^0x45); // Tomamos los bits de los pulsadores que necesitamos y le ivertimos el valor.
   envia[0] = valor; // Carga el valor de los pulsadores al buffer.
   usb_put_packet(1,envia,2,USB_DTS_TOGGLE);   // Enviamos el dato por USB.
}
}


NOT: Devrenin Giriş Uçları; RC0, RC2, RC6

Şimdi; programda  1 , 4 ve 64 data bilgilerini alıyor. peki neden 1-4-64

ve yazılımdaki bu kod nedir; valor = ((input_c() & 0x45)^0x45)  ; C uçlarını 0x45 hex sayısı ile toplayıp sonra çarpıyormu. nedir burası? Buradan nasıl 1,4,64 sayısı çıkıyor?

Şimdi ben bu girişleri nasıl çoğaltabilirim, 8 giriş yapmak istiyorsam nasıl değiştirmeliyim.
ve girişlerden birisi basılı iken diğerine basamıyoruz. Bunu nasıl değiştirebilirim?


veliusta

bu böyle olmayacak, kitap almamın vakti geldi sanırım.

mehmet

Alıntı yapılan: veliusta - 27 Şubat 2013, 20:20:07

NOT: Devrenin Giriş Uçları; RC0, RC2, RC6

Şimdi; programda  1 , 4 ve 64 data bilgilerini alıyor. peki neden 1-4-64

ve yazılımdaki bu kod nedir; valor = ((input_c() & 0x45)^0x45)  ; C uçlarını 0x45 hex sayısı ile toplayıp sonra çarpıyormu. nedir burası? Buradan nasıl 1,4,64 sayısı çıkıyor?
http://www.kadifeli.com/fedon/stdcprtr.php?3_5 burası az da olsa
merakınızı giderecektir...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

ertan2002


veliusta

kitap güzele benziyor usb ve servo lar üzerinde iyi durmuş.

ama ben bütün dilleri öğrenmek zorundamıyım. PBP,CCS S, Micro C,Hi-Tech, Assembyle hangisini iyi öğrenmeliyim bilemiyorum.

ertan2002

bahsettiklerin dil değil derleyici. bunda micro C kullanılmış ve yazılım dili C.  Sadece ilgili derleyicinin kütüphaneleri falan farklı o kadar.. onun dışında for aynı for.. sadece assembly ve pic basic farklı, çünkü onlar farklı diller.. ben CCS C kullanıyordum, micro C bana zor gelmez.