Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Visual Basic => Konuyu başlatan: okreg - 28 Nisan 2014, 18:19:05

Başlık: PIC ile BASIC konuşturma
Gönderen: okreg - 28 Nisan 2014, 18:19:05
Merhabalar

PIC'in B portuna switchler bağlı (8 adet) herhangi biri veya birkaçı durum değiştirince Visula Basic bunu algılamasını istiyorum

Örneğin PortB= 0000 0001 yani 0.biti 1 olduğunda yani Hex 01 ;
Basic bunu DEC 1  olarak alıgılayacak.

PortB= 0010 0001 yani 0.biti ve 5.biti 1 olduğunda yani Hex 21 ;
Basic bunu DEC 33  olarak alıgılayacak.

Eğer PIC to PIC olasydı maskeleyerek bit kontrolü yaptırıdım ve hangi switch durum değiştrmiş anlardım ama Visual Basic'te bu işlem nasıl yapılır?

Şimdiden teşekkürler...
Başlık: Ynt: PIC ile BASIC konuşturma
Gönderen: kudretuzuner - 28 Nisan 2014, 20:36:47
    Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived

        Dim gelen As Byte = SerialPort1.ReadByte
       '--------------------------------------------------------
        If gelen = 48 Then '      "0"  hex(30)    PIC'in yolladığı
           PictureBox1.BackColor = Color.Red
            Label1.ForeColor = Color.Red
         End If
KOD ile pic PC'ye  klavye "0"  hex(30) yolladığı zaman forma ilave ettiğiniz picturebox1 'in ve de label1'in rengi kırmızı olacaktır.
Başlık: Ynt: PIC ile BASIC konuşturma
Gönderen: okreg - 28 Nisan 2014, 21:06:18
Alıntı yapılan: kudretuzuner - 28 Nisan 2014, 20:36:47
    Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived

        Dim gelen As Byte = SerialPort1.ReadByte
       '--------------------------------------------------------
        If gelen = 48 Then '      "0"  hex(30)    PIC'in yolladığı
           PictureBox1.BackColor = Color.Red
            Label1.ForeColor = Color.Red
         End If
KOD ile pic PC'ye  klavye "0"  hex(30) yolladığı zaman forma ilave ettiğiniz picturebox1 'in ve de label1'in rengi kırmızı olacaktır.

maalesef bu işimi görmez

pic tarafında 8 adet switch olduğunu düşünün. switchler 1 yada sıfır gönderiyor

pc tarafında ise 8 adet picturebox var. hangi switchi 1 yaparsam renk yeşil oluyor. switch 0 da kaldığında kırmızı oluyor

Başlık: Ynt: PIC ile BASIC konuşturma
Gönderen: OG - 28 Nisan 2014, 21:11:05
Alıntı YapEğer PIC to PIC olasydı maskeleyerek bit kontrolü yaptırıdım ve hangi switch durum değiştrmiş anlardım ama Visual Basic'te bu işlem nasıl yapılır?

PIC to PIC ile PIC to PC arasında bir fark yok.

PIC den PC ye datayı gondermeyi halledebildiysen, aldığın datayı kuracağın şartlar ile eleyecek ve gereken işi yaptıracaksın. 1 iyak , 2 yi sondur, 3 ü kırmızı yap vs vs.
Başlık: Ynt: PIC ile BASIC konuşturma
Gönderen: okreg - 28 Nisan 2014, 21:19:02
Alıntı yapılan: OG - 28 Nisan 2014, 21:11:05
PIC to PIC ile PIC to PC arasında bir fark yok.


fark var bence. çünkü yapamadım
Başlık: Ynt: PIC ile BASIC konuşturma
Gönderen: OG - 28 Nisan 2014, 21:27:19
Fark olmadığını anlamadığın için yapamamışsın.

PIC den PC ye datayı ulaştırabildiysen gerisi
If gelen = xx then
''' burada ne yapacaksan o
Endif

budur.

PC ye seri porttan veya sanal seri porttan ulaşma işi en kolay yoldur.
MSComm inceleyin.
Başlık: Ynt: PIC ile BASIC konuşturma
Gönderen: Gökhan BEKEN - 28 Nisan 2014, 21:43:39
Falanca satırdaki hatayı düzeltin.

Arkadaşım daha hangi haberleşme protokolünü kullandığını bile belirtmemişsin, kod yok, görüntü yok. Nasıl yardımcı olabiliriz?
Visual Basic, kahin mi de pic'in bacaklarındaki durumları anlasın, illaki bir bağlantı yapacaksın. USB/Seri port/paralel port/ethernet vs vs.
Başlık: Ynt: PIC ile BASIC konuşturma
Gönderen: kudretuzuner - 28 Nisan 2014, 22:24:54
Merhaba,
"maalesef bu işimi görmez"
Aslında sizin ihtiyacınız olan kod budur.Şöyle ki PIC PC'ye sadece hex'30' yolladığı zaman PC'nin yapacağı işlemi belirtir.Siz kaskat ekleyerek daha doğrusu PIC'e yazacağınız kod gereği PC'ye "yollayacağı BYTE'ları tek tek okur ve "OG" beyin de yazdığı gibi PC'de istediğiniz eylemi gerçekleştirebilirsiniz.Size halen üzerinde çalışmakta olduğum Projemden birkaç satırlık kod verdim.Bu projede PİC PC'ye 18 adet BYTE yollamaktadır.Bu yollanan 18 BYTE'lardan 8 adedini basınç sensoru yollamakta (ADC sonucunda)PC'de gelen BYTE'ları kontrol edip kompresor basıncını PC'de göstermektedir.Ayrıca da PC'den yollanan BYTE'lar ile de kartta kontrol sağlanmaktadır.(proje geliştirilme aşamasındadır)
https://www.dropbox.com/s/kv5ge960x9aybwz/AutoScreenRecorder_02%20Mar.%2015%2013.16.rar (https://www.dropbox.com/s/kv5ge960x9aybwz/AutoScreenRecorder_02%20Mar.%2015%2013.16.rar)
Başlık: Ynt: PIC ile BASIC konuşturma
Gönderen: Kabil ATICI - 28 Nisan 2014, 22:34:45
işlemcinin  portunu oku bunu bilgisayara gönder. Sonuçta 8 bitlik bir sayı. 0 ile 255 onluk değere sahip bir sayı.Gözünüzde büyütmeyin. Onluk sayı sisteminden ikilik sayı sistemini nasıl geçileceğini yoksa artık öğretmiyorlar mı?
Basic'de doğrudan bitleri ayıracak şekilde kodu oluştur.

örnek 1 veya 0 olması 0. biti.
2 olması 1. biti
4 olması 2. biti
8 olması 3. biti
16 olması 4. biti
şeklinde gider.

sonuçta seri port üzerinden gelen bilgi 8 bitlik o nedenle 0-255 aralığında olur.
Bitlerin onluk sayı sistemindeki karşılığını bulabilirsin. En basitinden bilgisayarındaki hesap makinesinden. Tek yapman gereken onluk sayı sistemindeki sayıdan bitleri ayıklamak.
Ben genellikle onluk sayı sistemindeki verileri işlemci portuna bit eşleştirecek şekilde göndermişim.

seri porttan okunan "değer" değişkenine aktarılmış olsun...
if değer >127 then
değer=değer-128
bit7=1
else
bit7=0
end if
if değer>63 then
değer=değer-64
bit6=1
else
bit6=0
end if
....
bu şekilde diğer bitler ayıklanacak. sonra bit değerlerini istediğini yap...

Başlık: Ynt: PIC ile BASIC konuşturma
Gönderen: okreg - 29 Nisan 2014, 09:32:07
böyle ukala ve ego yüklü yanıtlar alacağımı bilseydim hiç konu açmazdım

neyse... yurtdışı sitelerin birinden bir arkadaş çok yardımcı olcu zaten

ilginize teşekkür ederim.
Başlık: Ynt: PIC ile BASIC konuşturma
Gönderen: Mucit23 - 29 Nisan 2014, 10:08:00
Alıntı yapılan: okreg - 29 Nisan 2014, 09:32:07
böyle ukala ve ego yüklü yanıtlar alacağımı bilseydim hiç konu açmazdım

Suç sende değil aslında zamanını ayırıp iki satır birşeyler yazanlarda..
Başlık: Ynt: PIC ile BASIC konuşturma
Gönderen: okreg - 29 Nisan 2014, 10:24:44
Alıntı yapılan: Mucit23 - 29 Nisan 2014, 10:08:00
Suç sende değil aslında zamanını ayırıp iki satır birşeyler yazanlarda..

sadece son yanıtıma bakıp yazmışsınız sanırım

diğerlerini de okuyun, bana hak vereceksiniz.

okuyamam derseniz ben özetleyeyim.

ben sadece maskeleme yapamadığımı söyledim bunun basicte nasıl olabileceğini sordum ama ne binary bilgim kaldı ne anlayışsızlığım

neyse dedim ya konuyu çözdüm, hakikatten bilseydim hiç açmazdım
Başlık: Ynt: PIC ile BASIC konuşturma
Gönderen: kimlenbu - 29 Nisan 2014, 10:53:47
Visual Basic.Net kullanıyorsan decimal sayıyı binarye çevirmek çok kolay maskeleme ile kasmana gerek yok :

        Dim dec As Integer = 255

        Dim ss As String = Convert.ToString(dec, 2)
        MsgBox(ss)


yazarsan sana 11111111 değerini verir misal. Sonra da "mid" fonksiyonu ile istediğin karaktere ulaşırsın.