pbp ile pic pc seri port iletişimi nasıl yapılır

Başlatan erkan614, 11 Mart 2009, 13:41:10

Tagli

PicBasic Pro bilgilerim çok zayıf olduğu için HSERIN'in ASM olarak tam ne yaptığını bilmiyorum. Bu arada preamble nedir?  :oops:

Tahminime göre HSERIN çalıştığı zaman (ki bunu kesme bölümünde yazdığın için her veri geldiğinde çalışacaktır) RCREG'den gelen veriyi okuyor (ki bu RCREG'in bir katını temizler, böylece taşmayı engeller). Sonra gelen veriyi bir yerde buffer'lıyor ve senin WAIT içinde yazdığın şeye uyumlu olup olmadığına bakıyor. "aaa" dizisine uymayan bir durumla karşılaşırsa aldıklarını siliyor. Seri tutarsa sonra gelen veriyi istenilen değişkene atıyor. Burada anlamadığım yer eğer seri tutmazsa HSERIN komutunda programın takılıp takılmayacağı. Takılırsa çünkü kesmeden de dönmez.

Burada bir sorun da PicBasic Pro'nun gerçek anlamda kesmeye gitmemesi. Mesela sen "PAUSE 100" demişsin. Eğer veri tam bu sırada gelirse taşma olacaktır. Çünkü PicBasic Pro bu komutu işlemeyi bitirmeden kesme bölümüne atlamayacaktır ve 100 ms'de 2400 boud rate ile yaklaşık 25 byte gelebilir.
Gökçe Tağlıoğlu

erkan614

Alıntı Yappreamble;
Modern haberleşme sistemlerinin hemen hemen hepsinde performansı etkileyen en önemli faktörlerden biri alıcı ve verici senkronizasyonudur. En basit haberleşme sistemlerinde bile mesajın başlangıcı için bir preamble kullanılması neredeyse zorunludur. Preambla'ın temel görevini mesajın başlangıcını göstermesidir ve veri olarak ardışık 1 ve 0 lardan oluşan (01010101...) bir bit dizinidir. Bu bit dizininin boyu uygulama gereksinimleri veya kısıtlamalarına göre değişebilmekle birlikte bit senkronizasyonunun sağlanması ve mesaj başlangıcının doğru tayini için kullanılması gereklidir.
evet gerçektende baya bi bilgi kaybediyorum hatta çift taraflı haberleşme yapamıyorum tıkandım kaldım

mustafa_cmbz

erkan hocam pc'den micro işlemciye gönderdiğin karakterleri pic ile nasıl alıglatabiliriz_? bana bu tarz bişey lazım visual basic te program yazmaya başladım bakalım biraz yol alabilirsem bişeyler yapmayı planlıyorum...bende serial port dinleme prgoramı ile kodlarını protonda yazdığım kodlar ile pic'ten pc'ye veri gönderip alabiliyorum ama bir türlü pc'den pic'e gönderdiğim komutları algılatıp ıf ile dallandıramıyorum...bunu nasıl yapabiliriz bilen varmı_?

erkan614

DISABLE 
INT: 
    GIE=0 
    hSerIn [WAIT("aaa"),dec veri1] 
    
    GIE=1 
    Resume 
enable

bu şekilde birkod yazmış forumdaki çoğu kişi bende ordan kopyaladım
yalnız veri kaybı oluyor
pc den gönderdiğin datayı 3 kere gönder
ben pic pic arası bile baya veri kaybı yaşıyorum eğer data birkere gönderirsem hiç almıyor,
yani bende senin takıldığın yerde takıldım ve dünden beri ilerleyemedim ki pic pic habreleştiriyorum pc-pic işine geçemedim daha

bu gün hiç kod yazasım gelmiyor yarın tekrar girişicem bu işe

işin garip yanı dediğim gibi pic data alımında pbp ile çok kötü bir performans sergiliyor devletin bu konuya bi el atası lazım olmadı yarın ben atıcam :lol:

mustafa_cmbz

basic'te bende sorun yaşadım ama protonta hiç öyle bir sorun yaşamadım...eğer veri kaybı olmuyor ise protonda göndereceğiniz veriyi string şeklinde teker teker gönderirseniz sorun olmuyor...stringlerin gönderim hızınıda ayarlayabiliyorsunuz...