Visual Basic te 24c32 eeproma 8 bit veri nasıl yazdırabiri

Başlatan intelnet, 09 Mart 2005, 09:46:10

intelnet

yazdığım herhangi bir metini yada sayı kümesini 24c serisi herhangi bir eeproma vbasic te nasıl yazdırabilirim ? yardımcı olursanız sevinirim :(  :(  :(

DumrulBey

Merhaba,

Arada PIC ile arabirim yapılması daha mantıklı olsa gerek. Çünkü zamanlamalar şaşırabilir ve veri güvenli aktarılmışmı emin olamayabilirsiniz. Basit bir arabirim iş görür.

Başarılar...
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)

gokhangokcen

arkadaşlar merhaba soru yanıtsız kalmış konuyla alakalı benimde sıkıntılarım var ne yazıkki hala çözemedim
vb de tanımlı bir stringim var bu stringi seri porttan gönderiyorum fakat bilgiler peş peşe gittiği için pic aynı anda hem eproma yazıp hemde okuma işlemini yapamıyor.mecburen eproma yazma sırasında ortalama olarak 5-10 ms civarında bekleme yapmamız gerekiyor.orada bekler iken bu sefer seri porttaki bilgiler çok hızlı geldiği için kaçırmalar oluyor.Öncelik olarak seri porttan gelen bilgileri bir dizi değişken içerisine atmaya çalışıyorum 32byte bilgi alabiliyor seri porttan buda benim için yetersiz kalıyor.

dim dizi(5000) as string

 For i = 0 To Adres - 1

        MSComm1.Output = Mid(Dizi(i), 1, (Len(Dizi(i)) - 1))
    
      Next


şeklindeki vb kodunda dizi stingini byte byte göndermem için ne gerekli bu şekilde bi döngü işimi görmedi.

pic deki kod ise

Disable
seri:

HSerIn [g]

HSerOut [g]


HBusOut $A0,p,[g]
DelayMS 7
p = p+1



retfie
Enable

GoTo basla


haliyle eproma yazma sırasında beklettiğim için seri porttan gelen bilgileri yakalayamıyor.
kodu şu şekilde değiştirip bir dizi değişkene aldığımda ise;


dim karakter[255] as byte
dim g as byte

Disable
seri:

HSerIn [g]

HSerOut [g]

karakter[i] = g
i = i+1




retfie
Enable

GoTo basla


maksimum 32 byte bilgi gözüküyor isisde karakter dizisinin içerisinde cevaplarınız için şimdiden teşekkürler
Bildiğini paylaşmak, Allah'ın verdiği öğrenme yeteneğinin zekatıdır.

gokhangokcen

Bildiğini paylaşmak, Allah'ın verdiği öğrenme yeteneğinin zekatıdır.

acemi2010

Çözüm Half Duplex haberleşme

Basadon :
PC --> PIC         1 byte veri (katarın sırasındaki byte)
PIC --> eeprom  yazma işlemi (PC beklemede)
PIC --> PC         1 byte  "PC abi, yazma işlemini bitirdim sıradakini şutlayabilirsin"
GOTO Basadon

gokhangokcen

acemi2010 dostum cevabın için teşekkür ederim algoritmada sıkıntı yok  zaten benim sıkıntım verdiğim kod parçacığındaki dizi stringini nasıl 1'er 1'er göndericeğim konusuydu sanırım olayı anlatamadım mid ile karakter almaya kalktığımda string içerisinden tek bir karakter alamiyorum örneğin karakterleri birer birer alıp bir byte'a aktarıp comporttan gönderebilirmiyim böyle bir fonksiyon arıyorum cevap için tekrar teşekkürler
Bildiğini paylaşmak, Allah'ın verdiği öğrenme yeteneğinin zekatıdır.


gokhangokcen

timuçin hocam ilginiz için teşekkür ederim fakat programı tam olarak çözemedim
dim dizi(5000) as string

For i = 0 To Adres - 1
       MSComm1.Output = Mid(Dizi(i), 1, (Len(Dizi(i)) - 1))    
      Next


komutunda dizi stringini direkt bir bütün olarak alıp gönderiyor.benim istediğim dizi stringinin içerisindeki karakterleri 1 adet alıp porta yönlendirmek ve picin bu arada karakteri alıp eeproma yazmasını bekledikten sonra 2. bir karakter alıp göndermek ve tekrar eeprom a yazılmasını beklemek döngü bu şekilde olması gerekiyor.

proton derleyici kullanıyorum orada eğer ki bir örnek ile açıklayacak olursam ;
dim dizi[255] as byte
dim i as byte
dim g as byte

for i=0 to 255
g = dizi[i]
hserout g
delayms 7
next



isteğim bu şekilde bunu vb de nasıl gerçekleştiricem kafama takılan olay bu.programda dizi adlı dizi değişkenin for next döngüsü sayesinde 1.-2.-3.-.....   diye alıp sırasıyla gönderiyor.
Bildiğini paylaşmak, Allah'ın verdiği öğrenme yeteneğinin zekatıdır.