Kullanıcı Adı: Beni Hatirla?
Şifre:
  Elektronizm > PIC > PIC Projeleri  > en basit şekilde 18f2550 ile usb kontrolü
 


Şu an bu konuyu görüntüleyenler
0 Üye ve 2 Ziyaretçi konuyu incelemekte.

Sayfa: [1]
  Yazdır  
Gönderen Konu: en basit şekilde 18f2550 ile usb kontrolü  (Okunma Sayısı 2902 defa)
27 Nisan 2010, 01:41:18
whyliving
Üstçavuş
*

REP: 7

Mesaj Sayısı: 177
Nerden: izmir

Üyelik Bilgileri Offline
« :»

1. adım : proton basic ve içersine easyhid kuruyoruz.
ardından easyhid simgesinie tıklıyoruz.





polling zamanları usb nin takılı algılanmasını saglayacak kodların gönderilecegi zaman aralıklarıdır .
pos power cekilecek max akım degerleri.(500ma üzeri zarar verebilir)
buffer in / out = gönderilecek veya alınacak data ların byte olarak uzunlugudur .bir defa da  max 64 byte veri transferi yapılabiliyor.

project name = kayıt klasörünün proje ismi , location proje nin kayıt klasörünün yeri.
complier = kullanılacak derleyici
kullanılacak pic
complier = pc tarafında kullanılacak derleyici  basic olur c olur...






programın oluşturdugu kodlar bunlar . yukarda benim  harmanladıgım kodlarla karşılaştıraktan en basit haliyle  portb ye 8 bit lik veri gönderebilirsiniz.


Linkleri Görebilmek İçin Lütfen Üye Olunuz Yada Giris Yapınız
http://hotfile.com/dl/39965682/80745b2/deneme.zip.html


yukarda deneme yapabileceginiz isis dosyası ve hazır exe  mevcuttur.
Logged
27 Nisan 2010, 01:42:06
whyliving
Üstçavuş
*

REP: 7

Mesaj Sayısı: 177
Nerden: izmir

Üyelik Bilgileri Offline
« Yanıtla #1 :»

Kod:
Device = 18F2550
XTAL = 48
USB_DESCRIPTOR = "USBProjectDESC.inc"
Symbol USBBufferSizeMax = 8
Symbol USBBufferSizeTX  = 8
Symbol USBBufferSizeRX  = 8
Dim    USBBuffer[USBBufferSizeMax] As Byte
Dim PP0 As Byte SYSTEM        ' USBPOLL status return
Symbol CARRY_FLAG = STATUS.0  ' high if microcontroller does not have control over the buffer
Symbol ATTACHED_STATE = 6     ' is USB attached

TRISB = %00000000
GoSub AttachToUSB
ProgramLoop:

   USBBuffer[2] = PORTA
   USBOut 1, USBBuffer, USBBufferSizeTX
   
   USBIn 1, USBBuffer, USBBufferSizeRX, ProgramLoop
   PORTB = USBBuffer[3]
     
   GoTo ProgramLoop
 
DoUSBIn:
   USBIn 1, USBBuffer, USBBufferSizeRX, DoUSBIn
   Return

DoUSBOut:   
   USBOut 1, USBBuffer, USBBufferSizeTX, DoUSBOut
   Return

AttachToUSB:
   Repeat
      USBPoll
   Until PP0 = ATTACHED_STATE
   Return

Kod:
' vendor and product IDs
Private Const VendorID = 6114
Private Const ProductID = 2010

' read and write buffers
Private Const BufferInSize = 8
Private Const BufferOutSize = 8
Dim BufferIn(0 To BufferInSize) As Byte
Dim BufferOut(0 To BufferOutSize) As Byte

Private Sub Command1_Click()

BufferOut(4) = Val(Text1.Text)
hidWriteEx VendorID, ProductID, BufferOut(0)
End Sub


Private Sub Form_Load()
   ' do not remove!
   ConnectToHID (Me.hwnd)
End Sub

Private Sub Form_Unload(Cancel As Integer)
   DisconnectFromHID
End Sub

Public Sub OnPlugged(ByVal pHandle As Long)
   If hidGetVendorID(pHandle) = VendorID And hidGetProductID(pHandle) = ProductID Then
      ' ** YOUR CODE HERE **
   End If
End Sub

Public Sub OnUnplugged(ByVal pHandle As Long)
   If hidGetVendorID(pHandle) = VendorID And hidGetProductID(pHandle) = ProductID Then
      ' ** YOUR CODE HERE **
   End If
End Sub

Public Sub OnChanged()
   Dim DeviceHandle As Long
 
   DeviceHandle = hidGetHandle(VendorID, ProductID)
   hidSetReadNotify DeviceHandle, True
End Sub

Public Sub OnRead(ByVal pHandle As Long)
   
   ' read the data (don't forget, pass the whole array)...
   If hidRead(pHandle, BufferIn(0)) Then
     
   End If
End Sub


Public Sub WriteSomeData()
   BufferOut(0) = 0   ' first by is always the report ID
   BufferOut(1) = 10  ' first data item, etc etc
   
   ' write the data (don't forget, pass the whole array)...
   hidWriteEx VendorID, ProductID, BufferOut(0)
End Sub
 
Private Sub Text1_Change()
If Val(Text1.Text) > 255 Then Text1.Text = ""
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then Exit Sub
If IsNumeric(Chr(KeyAscii)) = False Then KeyAscii = 0
End Sub
Logged
27 Nisan 2010, 10:23:03
kelleawcisi
Süper Moderator
*

REP: 20

Mesaj Sayısı: 325
Nerden:
paylaşmak güzeldir..


Üyelik Bilgileri Offline
« Yanıtla #2 :»

eline emeğine sağlık kardeşim. ama ben bunu pek anlayamadım biraz açıklarsan sevinirim. nedir ne işe yarar? hangi usb portunu kontrol edebiliriz? nerede kullanabiliriz?
Logged
27 Nisan 2010, 13:02:23
whyliving
Üstçavuş
*

REP: 7

Mesaj Sayısı: 177
Nerden: izmir

Üyelik Bilgileri Offline
« Yanıtla #3 :»

dostum 18f2550 pici usb baglantısı üzerinde yapılabilen bir pictir.  usb baglantısı için çeşitli yollar ve yazılımlar vardır . bu göstermiş oldugum en basitlerinden birisi. bu yazılım sayesinde usb ye bagladıgın 18f2550 nin b portuna 8 bitlik veri yollayabiliyorsun.  en basitinden 8 led yakabiliyorsun. proton tarafını  pic e yükleyeceksin . vb tarafınıda  istegine göre derleyeceksin. bunları yapabilmen için başlangıç düzeyinde  pic ve visual basic bilmen yeterli.  yani bir saatlik ugraşla bunları anlayıp çözebilirsin. ilerleyen zamanlardada geliştirebilirsin. tam olarak analyabilmek için azcık konu üzerinde çalışılması gerekiyor.
Logged
27 Nisan 2010, 22:11:02
kelleawcisi
Süper Moderator
*

REP: 20

Mesaj Sayısı: 325
Nerden:
paylaşmak güzeldir..


Üyelik Bilgileri Offline
« Yanıtla #4 :»

ok teşekkürler bu konuya yabancıyım ama dikkatimi çekiyor.
Logged
11 Mart 2011, 19:15:01
alpayelmas
er
*

REP: 0
Avatar Yok

Mesaj Sayısı: 2
Nerden:

Üyelik Bilgileri Offline
« Yanıtla #5 :»

ellerinize sağlık cok işe yarar bir örnek bence hobi amaçlı elektronikle uğraşan benim gibi kareşleriniz için çok faydalı.
Yalnız Bir ricam olucak konu başlığı guncelliğini yitirmiş dosya ve resimler başta olmak üzere en basit haliyle bu bolumu yenilermisiniz???
Logged
13 Mart 2011, 13:01:26
whyliving
Üstçavuş
*

REP: 7

Mesaj Sayısı: 177
Nerden: izmir

Üyelik Bilgileri Offline
« Yanıtla #6 :»


Linkleri Görebilmek İçin Lütfen Üye Olunuz Yada Giris Yapınız
http://320volt.com/proton-icine-easyhid-kurulumu-ve-pic18f2550-usb-veri-gonderimi/
Logged
19 Mart 2011, 21:43:49
alpayelmas
er
*

REP: 0
Avatar Yok

Mesaj Sayısı: 2
Nerden:

Üyelik Bilgileri Offline
« Yanıtla #7 :»

8 bit veri gonderımını buldugum ornekler vasıtası ıle kolayca gerceklestırdım ama 16 veya 32  hatta 64 bıt verı gonderımı ıcın ornek bulamıyorum aslında lcd ye bır text gondermek ıstıyorum bır ornek var bu konuyla ılgılı ama vb 6 deıl bana yardımcı olurmusunuz
Logged
19 Mart 2011, 23:17:35
whyliving
Üstçavuş
*

REP: 7

Mesaj Sayısı: 177
Nerden: izmir

Üyelik Bilgileri Offline
« Yanıtla #8 :»

usb ile yaptıgım tek çalışma bu. bana 8 bit yettiği için daha fazlasıyla ugraşmadım. 32 bit ve üzeri sanırım bu işlemciler ile imkansız. 
Logged
24 Ekim 2011, 00:11:44
culhacik
er
*

REP: 0
Avatar Yok

Mesaj Sayısı: 1
Nerden:

Üyelik Bilgileri Offline
« Yanıtla #9 :»

Pic 18f2550 ile en basit şekilde 8 bit veriyi visual c# veya başka bir program yardımıyla usb üzerinden pic e yollamak istiyorum. Ancak birtürlü bu işi anlamadım. Ya türkçe kaynak az, yada bu işlem farklı yollardan yapılyor. Benim yapmak istediğim hiçbir deney kartı kulanmadan bu veriyi göndermek.

Örneğin;
 -Bir hex kodunu pic 18f2550 içerisine atacam,
 -Bu pic 18f2550 yi usbden bağladığımda yazılmış olan bir driver ile tanıtacam.
 -Herhangi bir programlama dili ile yazılmış olan program ile pic port b uçlarına veri yollayacam.

Bu işleri nasıl yapabilirim. Bu konularda takılıyorum. Usb nin driverını bizmi yazıyoruz yoksa hazırmı veriliyor, birtürlü bulamıyorum.
Bana yardımcı olurmusunuz.  ??
Emailim: ermanculhacik@hotmail.com
Logged
Sayfa: [1]
  Yazdır  
 
Gitmek istediğiniz yer:  

MySQL Kullanıyor PHP Kullanıyor Elektronizm | Powered by SMF 1.1.13.
© 2005, Simple Machines LLC. All Rights Reserved.
XHTML 1.0 Uyumlu! CSS Uyumlu!
Bu Sayfa 0.22 Saniyede 21 Sorgu ile Oluşturuldu (Pretty URLs adds 0.011s, 2q)

Elektronizm Çöl Atesi v3 by rallyproco