Pic İle Pc haberleşmeli Plotter Yardım

Başlatan hollywoodlu, 09 Kasım 2010, 21:40:01

hollywoodlu

Arkadaşlar pcde hyper terminalde yazdığım bi yazıyı picde string olarak nasıl kaydederim. Ve aldığım karakterleri lcd de nasıl yazdırırırm. Bu takıldığım nokta aldığım karakterleri dizi halinde işleyebilirsem gerisini getirebilirim yardımcı olur musunuz. Hi tech kullanıyorum derleyici olarak

justice_for_all

arkadasim char isimli bi dizi tanimlarsin string elemanin kac harfliyse sonra hitech de gets die bi komut varmi bilmiyorum direct olarak seri porttan string karakter alir ama bunu yine char dizisine atar ya boyle alirsin yada kesme isinde

void kesme()
{
      str[a]=seriport okuma komutu
     
      if(++a==string karakter sayisi)
      {
         a=0;
         cont=1///string karakterinin tamami alindigini belirtir...
       }
}


main kismindada

while(1)
{
       if(cont)
       {
           ////burda char dizisini stringe cevir ve degiskene ata
           ///lcdye yazdir
           ///ve cont=0
        }

}
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

hollywoodlu

#2
biliyorum getc komutunu ama kütüphanesi yok hi tech in. kütüphanede yazamadım kendim tam bilmiyorum ben ccs c kullanıyordum. hoca bunu istiyor işte. İlgilendiğin için de çok teşekkür ederim üstad

justice_for_all

kesme kullanmayi biliyomusun peki hitech de?
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

hollywoodlu

biraz biliyorum yukarıdaki verdiğin örnek gibi kullanabilirim. Msn adresiniz var mı acaba iletişime geçebilir miyiz rica etsem

justice_for_all

peki hangi pici kullancaksin proje icin?
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

hollywoodlu

#6
16f877 düşünüyorum beni eklesen msnden konuşsak projeyi anlatayım ben. 

sigmoid

Tek bir string için

const char * mesaj="merhaba bu tek bir stringtir.";

şeklinde string kullanabilirsin. Dikkat edersen başında const kullandım ve mesaj program memorye kaydoldu. Mesajın içeriğine daha sonra bir fonksiyon içinde harf harf ulaşmak istiyorsan

void fonksionadi (const char * strmesaj)
{
   do{
        lcd_yaz(*strmesaj++);  //bu satır lcd ye mesajı harf harf gönderir.
    }while(*strmesaj);
}


Eğer string dizi kullanmak istiyorsan benim Picproje Library içindeki  hazır lcdmenu fonksiyonu yazımı incele.

Kolay gelsin.

lcd_yaz fonksiyonunu temsili olarak verdim. hitechin sample klasöründe veya fxdev in kitabından faydanalabilirsin.

justice_for_all

Alıntı yapılan: abdullaho - 23 Kasım 2010, 20:28:12

lcd_yaz(*strmesaj++);  //bu satır lcd ye mesajı harf harf gönderir.



bu satirda strmesaj pointerinin gosterdigi bilgiyi bir arttirmis olmuyomusun???
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

sigmoid

void lcd_yaz(char harf) şeklinde tanımlanmış bir fonksiyon olmalı. sadece tek bir karakter almalı.

*strmesaj ile zaten ilk harf ulaşılıyor.

lcd_yaz(*strmesaj++)   ilede harfe ulaşılıyor, lcd_yaz fonksiyonuna gönderiliyor, ondan sonra pointer bir sonraki harfi gösteriyor. Kendi yazdığım fonksiyonlarda bu yapıyı sürekli kullanıyorum.
while(*strmesaj) ilede string sonuna gelinip gelinmediğini kontrol ediyorum.

justice_for_all

yani
         lcd_yaz(*strmesaj);
         strmesaj++;
ile

lcd_yaz(*strmesaj++)

ayni oylemi?
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

sigmoid


justice_for_all

Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay