Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Visual Basic => Konuyu başlatan: tekniker_murat - 09 Ekim 2011, 23:28:59

Başlık: Visual Basic İle PIC programlamak
Gönderen: tekniker_murat - 09 Ekim 2011, 23:28:59
Selamun aleyküm Ustalar sizlere yine bir soru sormak istedim :)

Abiler bu visual basic 6.0 yada visual studio 2008 ile pic leri programlama olasılığımız var mı sizce yada bir eklentisi olabilir mi ?

Piclerin her birinin yazmaç adresleri diğerinden farklı çalışmaları fark gösterebiliyor ama onlar da sonuçta bilgisayarlar gibi 0 ve 1 leri kullanıyorlar işlem yaparlarken belki bazı tanımlamalarla visual basicde yazdığımız kodları pic lerin anlayacağı kodlara çevirebiliriz diye bir düşünce geldi içimden sizce de olabilir mi ne dersiniz ?
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: serdararikan - 09 Ekim 2011, 23:32:30
VB ile PIC programlayan görmedim.VB nin pic için kod ürettiğini duymadım.ama VB ile bir arayüz yaparsan bootloader ile PIC e prog atabilirsin veya veritoplamak için kullanabilirsin.ama VB ile pic e kod yazamazsın
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: Mujdat117 - 10 Ekim 2011, 00:24:21
MERHABALAR
ASLINA BKARSANIZ VB İLE YAZILMIŞ BASİT BİR YÜKLEME PROGRAMI BULMUŞTUM ZAMANINDA AMA
ŞUAN NERDEN BULDUĞUMU HATIRLAYAMIYORUM. AMA DAHA ÖNCE NETTEN İNDİRDİĞİM BİKAÇTANE 24C VE BENZERİ EEPROM PROGRAMLAMA YAZILIMLARI 2 BİKAÇTANESİNİ GÖNDERİYORUM BİTANESİNDE PİC18F SERİSİNİ PROGRAMLAMA YAZILIMI SANIRIM AMA DENEMEDİM İNCELEMEK İÇİN İNDİRMİŞTİM
ÜZERİNDEN BAYA ZAMAN GEÇTİ UMARIM İŞİNİZİ GÖRÜR

https://rapidshare.com/files/527663536/vbfrance_PROGRAMMATEUR-PIC-18F8722___Page.zip

https://rapidshare.com/files/2800513776/24c_serisi_eepro_rem_programlayıcı_hex_dosyalarını_açıyo_-_vbfrance_PROGRAMMATION-EEPROM-I2C___Page.rar
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: Kabil ATICI - 10 Ekim 2011, 11:48:50
Visual studio yazılımları bilgisayar için program yazmak için geliştirilmiş yazılımlar grubuna giriyor. Herhangi bir işlemci için kod derleyici yazılımı o işlemciyi destekleyecek şekilde düzenlemiştir.  Bildiğim kadarıyla işlemciler için de  kod üretebilen basic tabaonlı derleyici var...
örneğin PICBASIC PRO™  gibi.  visual studio'ya göre bazı farklar olması doğal karşılanmalıdır...
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: NecroCapo - 10 Ekim 2011, 22:25:24
Linux altında çalışan ve pic lerimi programlayan c# ile yazdığım bir sistemim var. Pk2cmd kullanıyorum.

Yanlış hatırlamıyorsam Windows için de olması lazım pk2cmd.exe olarak, visual basic ile aynı şekilde konsoldan çalıştırabilirsiniz. ör. Vb6 ile shell("pk2cmd.exe -PPIC18F4550 -MP -Fmain.hex") gibi kullanabilirsiniz.Programmer on the go özelliği hariç pickit2 nin diğer özelliklerini kullanabildim.(tabi bir de logic analyzer özelliği kullanılmıyor)

Bunun dışında illa ki kodları kendim yazmak istiyorum derseniz, pickit2 kodlarını (microchip de .net ile kullanmış) veya pk2cmd kodlarını inceleyebilirsiniz.

Düzeltme: tabii ki donanımsal olarak pickit2 programlayıcı gerektiriyor. Başlığı okuyunca arada hiçbir programlayıcı olmayacağını düşünmemiştim.
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: ZZombie - 18 Ekim 2011, 15:35:13
Sanırım VB içerisinde PicBasic gibi kod yazabiliyormuyuz demek istediniz.
Bu türde bir yapı ya da eklenti duymadım.

Fakat diğer arkadaşlarımızın da dediği gibi PIC ile PC arasında haberleşen uygulamalar yapabilirsiniz.
Ama PIC içine gömeceğiniz bir kod üretemezsiniz Visual Basic ile.
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: OG - 18 Ekim 2011, 17:09:42
Benim de bu günlerde böyle bir programlama cihazı ve yazılımı yapmak aklımdan geçmişti. Fakat PIC nasıl programlanır, yani data nasıl gönderilir, pic nasıl tanınır, nasıl silinir vs hiç ilgilenmedim. Döküman herhalde microchip sitesinde vardır, varmı bir link.
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: t2 - 18 Ekim 2011, 17:14:51
Pickit2nin kodu  (http://www.google.com.tr/url?q=http://www.microchip.com/stellent/idcplg%3FIdcService%3DSS_GET_PAGE%26nodeId%3D1960&sa=U&ei=A4qdToz6Isnusga7qsyGCQ&ved=0CA4QFjAA&sig2=ZjnSGUaAeSecZFKAYk4A7w&usg=AFQjCNFp4_k7THxLT84NWUqk_M0HXzXZDw) açık.  Fakat visual basic ile yazılmamış olabilir.  visual basic ile pk2cmd kullanabilirsiniz.


kod kısmı karışık  geldiği için ben pk2cmd olanı kullanıyorum.  Kendi yazdığım program hex dosyayı güzelleştirip, mesela cihaz seri no değiştirip pk2cmd vasıtasıyla pice gönderiyor. programlama bitince penceresinden bu bilgiyi alıp düdük çalıyor. hata çıktıysa onu da bildiriyor. yani benim exe içinde komut satırı çalışıp geri dönen mesajları yorumluyor. hem pk2cmd için .net gerekmiyor.  ve programlama bitince bu uygulama tamamen sonlandığı için orijinal pk2 programı gibi şişme donma yapmıyor.

pk2cmd komutlar
Alıntı YapPICkit 2 COMMAND LINE HELP
Options              Description                              Default
----------------------------------------------------------------------------
A<value>             Set Vdd voltage                          Device Specific
B<path>              Specify the path to PK2DeviceFile.dat    Searches PATH
                                                              and calling dir
C                    Blank Check Device                       No Blank Check
D<file>              OS Download                              None
E                    Erase Flash Device                       Do Not Erase
F<file>              Hex File Selection                       None
G<Type><range/path>  Read functions                           None
                     Type F: = read into hex file,
                             path = full file path,
                             range is not used
                     Types P,E,I,C: = ouput read of Program,
                             EEPROM, ID and/or Configuration
                             Memory to the screen. P and E
                             must be followed by an address
                             range in the form of x-y where
                             x is the start address and y is
                             the end address both in hex,
                             path is not used
                             (Serial EEPROM memory is 'P')
H<value>             Delay before Exit                        Exit immediately
                         K = Wait on keypress before exit
                         1 to 9 = Wait <value> seconds
                                  before exit
I                    Display Device ID & silicon revision     Do Not Display
J<newlines>          Display operation percent complete       Rotating slash
                         N = Each update on newline
K                    Display Hex File Checksum                Do Not Display
L<rate>              Set programming speed                    Fastest
                     <rate> is a value of 1-16, with 1 being
                     the fastest.
M<memory region>     Program Device                           Do Not Program
                     memory regions:
                         P = Program memory
                         E = EEPROM
                         I = ID memory
                         C = Configuration memory
                         If no region is entered, the entire
                         device will be erased & programmed.
                         If a region is entered, no erase
                         is performed and only the given
                         region is programmed.
                         All programmed regions are verified.
                     (serial EEPROM memory is 'P')
N<string>            Assign Unit ID string to first found     None
                     PICkit 2 unit.  String is limited to 14
                     characters maximum.  May not be used
                     with other options.
                     Example: -NLab1B
P<part>              Part Selection. Example: -PPIC16f887     (Required)
P                    Auto-Detect in all detectable families
PF                   List auto-detectable part families
PF<id>               Auto-Detect only within the given part
                     family, using the ID listed with -PF
                     Example: -PF2
Q                    Disable PE for PIC24/dsPIC33 devices     Use PE
R                    Release /MCLR after operations           Assert /MCLR
S<string/#>          Use the PICkit 2 with the given Unit ID  First found unit
                     string.  Useful when multiple PICkit 2
                     units are connected.
                     Example: -SLab1B
                     If no <string> is entered, then the
                     Unit IDs of all connected units will be
                     displayed.  In this case, all other
                     options are ignored. -S# will list units
                     with their firmware versions.
                     See help -s? for more info.
T                    Power Target after operations            Vdd off
U<value>             Program OSCCAL memory, where:            Do Not Program
                      <value> is a hexadecimal number
                      representing the OSCCAL value to be
                      programmed. This may only be used in
                      conjunction with a programming
                      operation.
V<value>             Vpp override                             Device Specific
W                    Externally power target                  Power from Pk2
X                    Use VPP first Program Entry Method       VDD first
Y<memory region>     Verify Device                            Do Not Verify
                         P = Program memory
                         E = EEPROM
                         I = ID memory
                         C = Configuration memory
                         If no region is entered, the entire
                         device will be verified.
                         (Serial EEPROM memory is 'P')
Z                    Preserve EEData on Program               Do Not Preserve
?                    Help Screen                              Not Shown

     Each option must be immediately preceeded by a switch, Which can
     be either a dash <-> or a slash </> and options must be separated
     by a single space.

     Example:   PK2CMD /PPIC16F887 /Fc:\mycode /M
                               or
                PK2CMD -PPIC16F887 -Fc:\mycode -M

     Any option immediately followed by a question mark will invoke
     a more detailed description of how to use that option.

     Commands and their parameters are not case sensitive. Commands will
     be processed according to command order of precedence, not the order
     in which they appear on the command line.
   Precedence:
                -?      (first)
                -B
                -S
                -D
                -N
                -P
                -A -F -J -L -Q -V -W -X -Z
                -C
                -U
                -E
                -M
                -Y
                -G
                -I -K
                -R -T
                -H      (last)
      
     The program will return an exit code upon completion which will
     indicate either successful completion, or describe the reason for
     failure. To view the list of exit codes and their descriptions,
     type -?E on the command line.

     type -?V on the command line for version information.

     type -?L on the command line for license information.

     type -?P on the command line for a listing of supported devices.
     type -?P<string> to search for and display a list of supported devices
                      beginning with <string>.

     Special thanks to the following individuals for their critical
     contributions to the development of this software:
      Jeff Post, Xiaofan Chen, and Shigenobu Kimura

Operation Succeeded
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: ZZombie - 19 Ekim 2011, 08:07:45
HEX yükleyici yapmak aslında biraz meşakatli olabilir.
Nedeni de donanıma bağlı iş yapmanız gerek.
Misal programlama kiti COM port mu kullanıyor USB mi vb. değişkenler giriyor araya.
En temizi şeması ve içeriği açık bir şekilde bulunan programlama kiti için arabirim yapmak.
İlk etapta tek bir donanıma göre hareket etmek daha mantıklı. (En çok kullanılanlar ya da hazı elinizin altında olan bir donanım olursa çok daha iyi olur test için)
Gereksiz şeylere kafa yormanızı engeller.

Daha sonrasında da farklı donanımlar için de gerekli kodları yazarak desteklenen dev kit sayısı arttırılabilir.
Tekrar diyorum ilk etapta sadece tek bir donanıma odaklanın.
Arabirim süslemeye vs de uğraşmayın.
ilk kıstasınız "Program ROM'u sağlıklı bir şekilde yüklüyor mu?" olsun.
Sonrasında görsel kısmı istediğiniz gibi apın :)
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: OG - 19 Ekim 2011, 11:25:19
Alıntı yapılan: t2 - 18 Ekim 2011, 17:14:51
Pickit2nin kodu  (http://www.google.com.tr/url?q=http://www.microchip.com/stellent/idcplg%3FIdcService%3DSS_GET_PAGE%26nodeId%3D1960&sa=U&ei=A4qdToz6Isnusga7qsyGCQ&ved=0CA4QFjAA&sig2=ZjnSGUaAeSecZFKAYk4A7w&usg=AFQjCNFp4_k7THxLT84NWUqk_M0HXzXZDw) açık.  Fakat visual basic ile yazılmamış olabilir.  visual basic ile pk2cmd kullanabilirsiniz.


Hex güvenliği? Ben hexi net ortamına bir yere yükleyip müşterideki programmır tarafından çekilip pice yüklenmesi düşüncesindeyim, ancak hex adamın eline geçmemesi gerek.
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: t2 - 19 Ekim 2011, 11:34:14
Müşteriye özel led animasyon yapacaz değilmi hocam?

Hex(benzeri dosya) orada durur. fakat telefona bir şifre söylersin ozaman pice yüklenir. BU şifre, her defasında değişir. program sana kod bildirir, ona göre şifre söylersin. hex dosya sabit diske yazılmaz sadece hafızada açılır.  Yaparız ederiz. Ya da sanal disk açılır ama kafayı çalıştıran biri buradan hexi armut gibi toplayabilir.



Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: NecroCapo - 19 Ekim 2011, 11:41:01
Alıntı YapHex güvenliği? Ben hexi net ortamına bir yere yükleyip müşterideki programmır tarafından çekilip pice yüklenmesi düşüncesindeyim, ancak hex adamın eline geçmemesi gerek.

pk2cmd kullanabilirsiniz, yazılım; programlama yapılacağı zaman net üzerinden hex'i çeker, programlamasını yapar (veya yapamaz) daha sonra dosyayı silersiniz. Dosya, müşterinin makinesinde c:\windows\temp vs. gibi iç klasörlere kopyalanabilir, uzantısı hex olmaz (sys32os911.tmp şeklinde olabilir mesela). Veya net üzerinde hex dosyasını şifreli olarak tutarsınız, programlama anında decryption yapıp , programlama sonunda tekrar encryption yaparsınız.
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: SERRO EFE - 19 Ekim 2011, 11:51:49
Bence program hexi mcuda sabit dursun animasyon işlemlerini epromdan okunan komutlara göre yapsın. Bu sayede sadece eproma veri yükleyerek işi kolaylaştırmış olabilirsiniz.
mesela epromdan
1 değerini aldığında sağdan sola kaydır
2 değerini aldığında soldan sağa kaydır
3 değerini aldığında ortadan kenara açıl
4 değerini aldığında kenardan ortaya kapan
vb..
Bu komutlardan sonra verilecek ikinci bi komutla bekleme süresi kaydırma sayısı gibi değerler girilebilir.
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: ZZombie - 19 Ekim 2011, 14:02:51
Aslında bu hex güvenliği bir yere kadar.
Asıl önemli olan şu soruyu sormanız gerek "Benim burada yazdığım kod epey yüksek fiyatlara satılan ve de benden başkasının yazamayacağı" bir kod mu. Ve de "Bu işe istediğim rakam (para) birinin HEX i kırmasından 4-5 kat daha mı maliyetli?

En yüksek seviye güvenlik diyorsanız işin ucu yine PC ye dayanacak.
Kurduğunuz sisteme sürekli bağlı olan ve de PC den aldığı emirleri yerine getiren bir uygulama yazmanız gerek.
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: OG - 19 Ekim 2011, 14:46:08
Yaptığımız iş atla deve değil, program kırıp hex i alan adam zaten pic için de kod yazar. Amaç, sıradan adamlar elde etmesin.

Alıntı yapılan: t2 - 18 Ekim 2011, 17:14:51
visual basic ile pk2cmd kullanabilirsiniz.
64 bit desteği yokmuş
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: tekniker_murat - 19 Ekim 2011, 18:06:26
Değerli ustalarım vermiş olduğunuz cevaplar için hepinize ayrı ayrı teşekkür ediyorum...

Aslında benim sormak istediğim konu daha farklı idi yani şöyle...

Misal visual basicde bir buton koyuyorsunuz foruma ve bu butonun üstüne kod yazma anında çift tıkladığınızda buna bir döngü oluşturup açıyor ve siz o buton döngüsünün içinde ne istiyorsanız butona basınca gerçekleşmesi için o kodları yazıyorsunuz...

yada bir msgbox kutusunda yazı yazdırabilmek için gereken komutları yazıyorsunuz ekranda o işlem anında gerçekleşiyor sonuç olarak visual basicde bir donanım yok yani bir bilgisayar var ve hepsinin veri yolları mantığı birbirine göre aynı. Programı yazıyosun çalıştırınca hata yoksa çalışıyor.

Benim amacım bu visual basic forumunda bütün detayları oluşturup pice aynı şekilde aktarabilmek yani bir buton oluşturduk Command1 adında ve bu butonu picin RA.0 pinine tanımladık visual de bu butona ne işlev vermişsek o işlevi pic de çalıştırması için gerekli hex kodunu visual basic de oluşturabilirmiyiz ?
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: mozkan87 - 19 Ekim 2011, 19:10:57
Linki  (http://netduino.com/)inceleyiniz.
Başlık: Ynt: Visual Basic İle PIC programlamak
Gönderen: ZZombie - 20 Ekim 2011, 08:38:26
Visual Basic ile bu türde bir işlem yapamazsınız.
Nedeni Visual Basic PC için yapılmış bir uygulama ama asıl mesele gözünüzcen kaçan bir "İşletim Sistemi" gerçeği var.
Yani kullandığınız Windows işletim sistemi (artık hangi sürüm ise).

Visaul Basic aslında direk olarak donanıma erişememektedir. Bu yüzden Windows apileri winsock vb. yapıları kullanıyoruz.
Bunlar vasıtası ile donanımla haberleşmekte.

PIC programlarken ise (Siter PIC C, ister PIC BASIC) arada bir işletim sistemi olmadan direk olarak donanıma göre hareket eden kod yazıyoruz.

Ha şu olabilir. Biri oturur da VB kodunu PIC HEX e dönüştüren bir araç yapabilir. Ama yine de bu %100 çalışır demek doğru olmaz. Yazacağınız VB kodunu da bu dönüştürme işlemine uygun olacak şekilde (pin bacak tanımlamarı vs.) ek kodlar yazmanız gerekir.