PIC16F628A RS232'DEN kablosuz LCD YE YAZI YAZDIRMADA HATA

Başlatan AYKIRI, 22 Haziran 2010, 18:05:48

My75

Nihayet...49 , ascii 1'in desimal karşılığıdır.Hex karşılığı 31 dir.Artık buna göre araştırıp gerisini halledersin..Dikkat edersen #AL yapmışım
# kaldırırsan ascii olarak görürsün..
Tomurcuk için çaba göstermeyen dal,odun kalmaya mahkumdur...

AYKIRI

örneğin TEST yazdıktan sonra hemen yanına MERHABA yazıyıyorum ama sadece M geliyor diğerlerinin gelmesini nasıl sağlayabilirim
yardımınız için teşekkür ederim

AYKIRI

Alıntı yapılan: AYKIRI - 23 Haziran 2010, 18:12:50
örneğin TEST yazdıktan sonra hemen yanına MERHABA yazıyıyorum ama sadece M geliyor diğerlerinin gelmesini nasıl sağlayabilirim
yardımınız için teşekkür ederim

alıcı verici ekledim datalar geliyor fakat veri kaybı oluyor çok fazla

My75

"TEST" tırnak işareti olduğu için dizedir,yani tırnak içinde olduğu için ascii karşılığı olan hex kodlara dönüşür.

Her karakter bir byte veriyi temsil eder,"TEST"=hex olarak 54 45 53 54 anlamındadır.Yani 4 byte veri,bunu işlemci sırayla kontrol
eder,gelen verinin hex karşılıkları tutuyorsa geç der.

Kısaca "TEST","MERHABA" dersen Merhaba ile gelen tüm veriyi alman için 7 değişken kullanman gerekir.Sadece AL değişkenine
ilk harfin değeri kaydedilir..


serin rx,t2400,atla,["TEST"],AL,B,C,D,E,F,G

Verilerin bozuk olmasıda modülden kaynaklanır,piyasada 10tl ye satılan modüllerden fazla beceri bekleme,profesyonel işler
için zigbee modüller kullanılır ama buda bu basit işlem için fazla olur..

DEFINE CHAR_PACING 1000  'bunuda ilave et data alımında gecikme yaratır,porta.2 +5 volt görünsede vdd ile arasına 10K
direnç ve vss ile 47p kondansatör koy,pic'e en yakın bölgeye pin 5 ve 14 arasına 100n polyester ilave et bakalım düzelme olacakmı..

Birde bunu en sonunda usart ile kesinlikle değiştir.."TEST" işi zora sokar gereksiz yere zaman kaybı olur,"TE" yapsan yeter..Kolay gelsin..

Tomurcuk için çaba göstermeyen dal,odun kalmaya mahkumdur...

AYKIRI

MY75 söylediklerinizi uyguladım başarılı oldu
tek yapamadığım USART kaldı
bunuda yapabilirsem sanırım tam olacak
pic porta.2 den serin yapıyor ama sizin usart kodunda portb.1 demişsiniz
bunu değiştirebilirmiyim yoksa hardware olarak sadece o portumu kullanmak zorundayım

My75

Değiştiremezsin,donanım usartı olarak sadece portb.1 ve portb.2 kullanabilirsin.Şuan nasıl olacağını
öğrendin,yeni bir pcb yapman gerekecek.Normal şartlarda dahili osc'de kullanabilirsin ama kristal kullanmaya kendini
alıştır..Usart'a alıştıktan sonra bunu kesme ile yapmayıda öğreneceksin..Ve böyle devam edecek sonra bir bakmışsınki
kendini aşmışsın ama yavaş yavaş tabi,bu işin sonu yok..
Tomurcuk için çaba göstermeyen dal,odun kalmaya mahkumdur...

AYKIRI

sayın my75 gerçekten çok yardımcı oldunuz teşekkür ederim
daha sizden öğreneceğim çok şey var :)

AYKIRI

devrede gerekli pin değişikliklerini yaptım fakat USART konusunda başarılı olamadım :(

@ DEVICE PIC16F628A                                                     
@ DEVICE PIC16F628A, WDT_OFF       
@ DEVICE PIC16F628A, PWRT_ON             
@ DEVICE PIC16F628A, PROTECT_OFF         
@ DEVICE PIC16F628A, MCLR_OFF
include "modedefs.bas"
DEFINE LCD_DREG PORTB 'LCD DATA BACAKLARI PORTB'YE BAGLI
DEFINE LCD_DBIT 4 'LCD DATA BITLERI HANGİ BITTEN BASLIYOR
DEFINE LCD_EREG PORTB 'LCD ENABLE BACAGI HANGI PORTA BAGLI
DEFINE LCD_EBIT 0 'LCD ENABLE BITI HANGI PORTA BAGLI
DEFINE LCD_RWREG PORTA 'LCD RW BACAGI HANGI PORTA BAGLI
DEFINE LCD_RWBIT 3 'LCD RW BACAGI HANGI BITE BAGLI
DEFINE LCD_RSREG PORTA 'LCD RS BACAGI HANGI PORTA BAGLI
DEFINE LCD_RSBIT 2 'LCD RS BACAGI HANGI BITE BAGLI
DEFINE LCD_BITS 4 'LCD 4 BIT BAGLI
DEFINE LCD_LINES 2 'LCD KAC SIRADAN OLUSUYOR
DEFINE OSC 4
DEFINE HSER_CLROERR 1
DEFINE HSER_RCSTA 90h   
DEFINE HSER_TXSTA 20h   
DEFINE HSER_BAUD  2400
DEFINE HSER_SPBRG 25
CMCON=7
OPTION_REG.7=0
TRISA=%0000000
TRISB=%0000110
LOW PORTA.3;LCD YAZMASI İÇİN
TEST CON 127
AL VAR BYTE
'RX PORTB.1 'dir
'TX PORTB.2 'dir
BASLA:
HSERIN 100,KONTROL,[WAIT(TEST),AL]
LCDOUT $FE,1,AL
GOTO BASLA
KONTROL:
GOTO BASLA
END

alpayelmas

bu knularla ilgili herkes işini gördüğüne neden çalışan bir devre şeması ve kodları eklemes bende bu konudan muzdaribim...

lc display ekrana text gondermek sıtıyorum okudum okudum sonuc ne oldu yok