SERIN2 uygulama problemi

Başlatan hermanaga, 27 Ocak 2010, 14:45:33

hermanaga

Arkadaşlar Merhaba

Bireysel yapmış olduğum bir 16F877 projesinde VB vasıtasıyla bilgisayar ile seri iletişim ile veri alış verişi yapan bir program hazırladım.Bu programda rs232 vasıtasıyla 8n1 formatında veriyi bilgisayardan gönderip lcd ekranda okutmak istiyorum.Pic üzerinden serout ile vb arayüzünde textbox içerisinde istediğim yazıyı görebiliyorum fakat bu işlemi tersten yaptığımda, yani vb te form üzerindeki text kutusuna yazdığım yazıyı serin2 komutuyla pic lcd\'de okuttuğumda sadece ilk karakter aktarılıyor yazının devamı ise gönderilmiyor.Bunu çözmek için serin2 modifier kullanmayı denedim fakat hala ilk karakterden fazlası ekran da göremiyorum.Sanırım define işlemlerinde eksikliğim olabilir .Aşağıda daha iyi anlaşılması için bazı kullandığım kodları gönderiyorum bu konuda yardımcı olmanızı rica ediyorum.Şimdiden teşekkür ederim.

DEFINE OSC 12
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_DBIT 4
DEFINE CHAR_PACING 1000
LCDOUT $FE,1
PAUSE 200
\'------------------------------------
S0 VAR PORTC.6
SI VAR PORTC.7
B0 VAR BYTE
\'------------------------------------
anadongu:
LCDOUT $FE,$C0,B0
HIGH PORTA.3 \'program akışını takip etmek için sinyal ledi
PAUSE 100
LOW PORTA.3
PAUSE 100
YOLLA:
SEROUT S0,T2400,[\"YAZI\"]
pause 50
Al:
SERIN2 SI,8588,10,anaDONGU,[STR b0\\8]
pause 50
goto anadongu
END

gevv

Merhaba

Konu ile ilgili bilgim yok denecek kadar az ama araştırma sonucu HSERIN komutunu kullanmanızın daha iyi olacağını söyleyebilirim :)

Alıntı YapHSERIN {ParityLabel,}{Timeout,Label,}[Item{,...}]

Donanımsal olarak asenkron seri haberleşmeyi destekleyen cihazların, donanımsal seri portu üzerinden bir veya birden fazla veriyi almak için kullanılır.

HSERIN, PicBasic'de bulunan asenkron seri haberleşme fonksiyonlarından biridir. Bu fonksiyon, sadece donanımsal olarak USART birimi olan cihazlarda kullanılabilir. Seri giriş pinini ve diğer parametreleri öğrenmek için cihazın kullanım kılavuzuna ("datasheet") bakılmalıdır. Seri haberleşme parametreleri ve "baud rate" değeri DEFINE ile belirtilir.

HSERIN fonksiyonu, SERIN2 fonksiyonu ile aynı manipülatörlerin kullanımını desteklemektedir.

Devamı: http://www.izoelektronik.com/hserin-pbp-turkce.htm


galove

Alıntı yapılan: hermanaga - 27 Ocak 2010, 14:45:33Arkadaşlar Merhaba
Bireysel yapmış olduğum bir 16F877 projesinde VB vasıtasıyla bilgisayar ile seri iletişim ile veri alış verişi yapan bir program hazırladım.Bu programda rs232 vasıtasıyla 8n1 formatında veriyi bilgisayardan gönderip lcd ekranda okutmak istiyorum.Pic üzerinden serout ile vb arayüzünde textbox içerisinde istediğim yazıyı görebiliyorum fakat bu işlemi tersten yaptığımda, yani vb te form üzerindeki text kutusuna yazdığım yazıyı serin2 komutuyla pic lcd\'de okuttuğumda sadece ilk karakter aktarılıyor yazının devamı ise gönderilmiyor.Bunu çözmek için serin2 modifier kullanmayı denedim fakat hala ilk karakterden fazlası ekran da göremiyorum.Sanırım define işlemlerinde eksikliğim olabilir .Aşağıda daha iyi anlaşılması için bazı kullandığım kodları gönderiyorum bu konuda yardımcı olmanızı rica ediyorum.Şimdiden teşekkür ederim.


DEFINE OSC 12
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_DBIT 4
DEFINE CHAR_PACING 1000
LCDOUT $FE,1
PAUSE 200
\'------------------------------------
S0 VAR PORTC.6
SI VAR PORTC.7
B0 VAR BYTE
\'------------------------------------
anadongu:
LCDOUT $FE,$C0,B0
HIGH PORTA.3 \'program akışını takip etmek için sinyal ledi
PAUSE 100
LOW PORTA.3
PAUSE 100
YOLLA:
SEROUT S0,T2400,[\"YAZI\"]
pause 50
Al:
SERIN2 SI,8588,10,anaDONGU,[STR b0\\8]
pause 50
goto anadongu
END
çok açık şekilde anlamadım ama sanırım döngünde bir sorun var. Bu SERIN2 komutunda visual basic\'deki bütün datayı tek seferde mi alıyorsun yoksa harf harf mi alıyorsun. eğer öyleyse sürekli aynı harfi çekiyor olabilirsin.

Hızlı Yanıt

Not: Bu konu bir moderatör tarafından onaylanmadan görüntülenmeyecektir.

Adı:
E-Posta:
Doğrulama:
Lütfen bu kutuyu boş bırakın:
IRFP250 Nedir:
kısayollar: göndermek için alt+s veya önizleme yapmak için alt+p'ye basın