hermanaga
Üye
- Katılım
- 22 Ocak 2010
- Mesajlar
- 12
- Puanları
- 1
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
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