seri porttan gönderdiğim bir yazı mesala "metocan" picin hafızasına yazdırıp
ordan lcd'ye yazdırmak istiyorum.Başka bir yazı gönderdiğim zaman hafızasındaki eski yazı silinip yerine yenisi yazılacak.Basic codu arıyorum
uzun zamanda n beri bakıyorum da arkadaşların bişeye ihtiyaçları oldumu şunu arıyorum bunu arıyorum falan diyorlar...
Biraz araştırma ve uğraşın sonucunda yapılabilinecek işleri bunlar. kimse doğuştan öğrenmedi bunları.. Tamam bi kaç yardım veya tio alınabilir. ama bu kadarıda fazla bence.......
Bizde biliyoruz kimse anasının karnında öğrenmiyor.Araştırma yapmak için türkçe kaynak YOK ,örnek kodlar olmadan nasıl
program yazacağız .passwordc için belki bunlar kolay olabilir ama bizim gibi daha yolun başındaki kişiler için kolay değil. Bu formun amacı yardım etmek değilse kapatın gittsin.
:evil:
aslında biraz yol alıp takıldığın bir yer olunca soru soruman senin için iyi olur.örneğin picin hafızasına yazdırmışındır ama
lcdye yazdırırken sorun çıkmıştır.o zaman sorarsın lcdye yazdırıyorum şöyle şöyle oluyor diye.bizde cevaplarız.senin yaptığının adı tembellik oluyor..
Alıntı yapılan: "metocan"picin hafızasına yazdırıp ordan lcd'ye
yazdırmak istiyorum
kardes PIC'in hafizasi derken eeprom kismini mi kastediyorsun? eeprom a yazdirmak icin "Write" komutu kullanabilirsin.
picbasic
pro ile
WRITE Address,Value seklinde oluyor.
ExampleWRITE 5, B0
' Send value in B0
to EEPROM location 5senin istedigin sekilde "metocan" yazabilmen biraz daha zor ama bir döngü icerisinde LOOKUP komut kullanilarak yapilabilir
sanirsam.
Picbasic pro manual de bütün bu komutlarin ayrintili örneklerini vermisler istersen bir arastir.
Hocam 98 yılında PIC ile tanıştığımda programlayıcısını bulup çalıştırana kadar 6 ay geçti.... O zamnlar bu tür türkçe
formlar da yoktu. tamamen yabancı kaynakları araştırarak öğrendik. benim dediğim sadece biraz araştırma. genelde hazıra alışkın bir toplumuz. bunu kimse inkar edemez. en basiti adam nasıl kolay
yoldan para kazanırım diye düşünüyo.... bu tip insanlar en basit örneği....
seri porttan picin hafızasına yazı yazdırıp lcd ye yazdırabiliyorum (uzun uğraşlardan sonra) ikinci sefer gönderdiğimde eski
hafıza silinmiyor "örnek "merhaba ilk gönderdiğim mesaj 7 harf ,ikinci gönderdiğim mesaj "iyi" 3 harf lcd ye yazdırırken "iyiaba" diye yazıyor.Soruma cevap veren,vermeyen,eleştiren
arkadaşlardan ALLAH RAZI OLSUN.
program kodunu vermemissin ama sanirim, pic icinde belli bir adres kumesi tanimladin ve surekli LCD ye bu kumeyinin
icindekileri gonderiyorsun. ikinci datayi bilgisayardan gondermeden once bu kumedekiregisterlarin icini sifirla.
ikinci bir ihtimalde LCD ye sadece 3 "iyi" karakteri gonderiyorsun.
LCD, diger sutunlarina yeni bilgi gonderilene kadar eskisini hafisasinda tutar.
Lcdout $fe,1 ,"iyi" şeklinde yazarsan merhabayı siler
Lcdout "iyi
" şeklinde yazarsan merhabanın üstüne yazar.boşlukları satır sayısına göre ayarlarsın
INCLUDE "modedefs.bas"
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
LCDOut $fe,1
symbol SO=PORTA.0
symbol SI=PORTA.1
B0 VAR BYTE
B1 VAR BYTE
B2 VAR BYTE
B3 VAR
BYTE
B4 VAR BYTE
B4=60
B2=75
For B1=60 TO B2 'HAFIZADAKI YAZI OKUNUYOR
Read B1,B3
LCDOut
B3
Next B1
loop:
SerIn SI,T2400,B0 'YENI YAZI BEKLENIYOR
IF (B0 < "a") OR (B0 > "z") Then yaz
B0 = B0 - $20
yaz: 'yeni yazı hafızaya yazılıyor
SerOut SO,T2400,[B0]
Write B4,B0
Pause 10
Read B4,B0
B4=B4+1
GoTo loop
End
dostum senin sorunun ekranı sildirmemen.ekranı simez isen ikinci mesajın ilkinin üstüne gelir ve eğer 2. mesaj 1.den kısa ise
2. mesajdan arta kalan harfler 1. mesajın sonuna eklenir.
hafızadaki yazı okunuyor uyarısından önce james in dediği gibi
Lcdout $fe,1
komutunu kullanıp bir
dene
birde b2=75 kadar datayı epromdan okuyorsun eğer 2. mesaj 1. mesajdan kısa ise yine eprom bölümünden 1.den arta kalan harfleride okuyor olabilirsin.yeni mesaj yazmadan önce
epromu silmen gerekebilir.