Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

ascii ve lookup

Başlatan teknikelektronikci, 28 Temmuz 2007, 00:59:41

teknikelektronikci

merhaba arkdaslar üstadlar basit bir soru icin yeni baslik acmak istemezdim ama baskada ilgili baslik bulamadim konu hakinda google da arastirma yaptim ama malesef sorumun yanitini bulamadim sorunum su:
kayanazi olayini seri iletisim ile kayacak metni degistirmek icin programa gerekli kodlari yazdim fakat türkce karakterler icin malesef karsilik bulamadim programda

 
CASE 65: SIRA_NO=4     ;A
    CASE 66: SIRA_NO=9     ;B
    CASE 67: SIRA_NO=14    ;C
    CASE 68: SIRA_NO=19    ;D
    CASE 69: SIRA_NO=24    ;E
    CASE 70: SIRA_NO=29    ;F
    CASE 71: SIRA_NO=34    ;G


gibi kullaniorum bunlarida ascii tablosundan bakiorum ama malesef türkce karakterlerin karsiliklari yok acaba bunun hakinda bilgisi olan varmi yani atiyorum ş harfinin case deki karsilgi nedir

birde bir sorum daha var programin hepsi bana ait olmadigi lookup kisminda
LOOKUP OFSET,[_
   	$7E,$11,$11,$11,$7E,_      ;A   0-4
 bu ofset ne anlama gelior programin diger kisimalrinda ifset le ilgili bir kisim yok ayrica bu yukaridaki (orn)sira_no=24 demis bu sira_no lookupa yönlenio bu offset yerine sira_no olmasi gerekmezmi ? simdiden cevaplariniz icin tesekür ederim kolay gelsin
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

ilker_32

Alıntı yapılan: "teknikelektronikci"merhaba arkdaslar üstadlar basit bir soru icin yeni baslik acmak istemezdim ama baskada ilgili baslik bulamadim konu hakinda google da arastirma yaptim ama malesef sorumun yanitini bulamadim sorunum su:
kayanazi olayini seri iletisim ile kayacak metni degistirmek icin programa gerekli kodlari yazdim fakat türkce karakterler icin malesef karsilik bulamadim programda

 
CASE 65: SIRA_NO=4     ;A
    CASE 66: SIRA_NO=9     ;B
    CASE 67: SIRA_NO=14    ;C
    CASE 68: SIRA_NO=19    ;D
    CASE 69: SIRA_NO=24    ;E
    CASE 70: SIRA_NO=29    ;F
    CASE 71: SIRA_NO=34    ;G


gibi kullaniorum bunlarida ascii tablosundan bakiorum ama malesef türkce karakterlerin karsiliklari yok acaba bunun hakinda bilgisi olan varmi yani atiyorum ş harfinin case deki karsilgi nedir

birde bir sorum daha var programin hepsi bana ait olmadigi lookup kisminda
LOOKUP OFSET,[_
   	$7E,$11,$11,$11,$7E,_      ;A   0-4
 bu ofset ne anlama gelior programin diger kisimalrinda ifset le ilgili bir kisim yok ayrica bu yukaridaki (orn)sira_no=24 demis bu sira_no lookupa yönlenio bu offset yerine sira_no olmasi gerekmezmi ? simdiden cevaplariniz icin tesekür ederim kolay gelsin

Hocam bende önceden Türkçe karakterler için yabancı karakterlerin yerlerini kullanırdım. Ama gerek kalmadı artık.
CASE 65: SIRA_NO=4     ;A
CASE 66: SIRA_NO=9     ;B
CASE 67: SIRA_NO=14    ;C
CASE 68: SIRA_NO=19    ;D
CASE 69: SIRA_NO=24    ;E
CASE 70: SIRA_NO=29    ;F
CASE 71: SIRA_NO=34    ;G
......
.....
...
..
ASCII'ları yazdıktan sonra LOOKUP OFSET'i (ofset:birsonraki ASCII'ya dallan) okuyacaksın. LOOKUP tabloları sadece okunabildiği için üzerine sonradan ekleme yapıp okuyamazsın diye biliyorum. Ama ASm de yapabiliyorum sorun yok PİC basıc nasıl pek fikrim yok.  :lol:

teknikelektronikci

Alıntı yapılan: "ilker_32"
Alıntı yapılan: "teknikelektronikci"merhaba arkdaslar üstadlar basit bir soru icin yeni baslik acmak istemezdim ama baskada ilgili baslik bulamadim konu hakinda google da arastirma yaptim ama malesef sorumun yanitini bulamadim sorunum su:
kayanazi olayini seri iletisim ile kayacak metni degistirmek icin programa gerekli kodlari yazdim fakat türkce karakterler icin malesef karsilik bulamadim programda

 
CASE 65: SIRA_NO=4     ;A
    CASE 66: SIRA_NO=9     ;B
    CASE 67: SIRA_NO=14    ;C
    CASE 68: SIRA_NO=19    ;D
    CASE 69: SIRA_NO=24    ;E
    CASE 70: SIRA_NO=29    ;F
    CASE 71: SIRA_NO=34    ;G


gibi kullaniorum bunlarida ascii tablosundan bakiorum ama malesef türkce karakterlerin karsiliklari yok acaba bunun hakinda bilgisi olan varmi yani atiyorum ş harfinin case deki karsilgi nedir

birde bir sorum daha var programin hepsi bana ait olmadigi lookup kisminda
LOOKUP OFSET,[_
   	$7E,$11,$11,$11,$7E,_      ;A   0-4
 bu ofset ne anlama gelior programin diger kisimalrinda ifset le ilgili bir kisim yok ayrica bu yukaridaki (orn)sira_no=24 demis bu sira_no lookupa yönlenio bu offset yerine sira_no olmasi gerekmezmi ? simdiden cevaplariniz icin tesekür ederim kolay gelsin

Hocam bende önceden Türkçe karakterler için yabancı karakterlerin yerlerini kullanırdım. Ama gerek kalmadı artık.
CASE 65: SIRA_NO=4     ;A
CASE 66: SIRA_NO=9     ;B
CASE 67: SIRA_NO=14    ;C
CASE 68: SIRA_NO=19    ;D
CASE 69: SIRA_NO=24    ;E
CASE 70: SIRA_NO=29    ;F
CASE 71: SIRA_NO=34    ;G
......
.....
...
..
ASCII'ları yazdıktan sonra LOOKUP OFSET'i (ofset:birsonraki ASCII'ya dallan) okuyacaksın. LOOKUP tabloları sadece okunabildiği için üzerine sonradan ekleme yapıp okuyamazsın diye biliyorum. Ama ASm de yapabiliyorum sorun yok PİC basıc nasıl pek fikrim yok.  :lol:

merhaba hocam cevabınız ıçin öncelikle teşekür ederım hocam demısınızki  
Alıntı Yapbende önceden Türkçe karakterler için yabancı karakterlerin yerlerini kullanırdım. Ama gerek kalmadı artık.

pekı nhocam sımdı ne kullanıorsunuz rica etsem bıraz daha acabılırmısınız

bırde bu lookup problemım vardı onu da halletım koddun bır kısmında offset=sira_no varmış onu görmemişim ama şu an tek problemım türkçe karakterler yani ş,ç,ö,ü bunalrı case ile nasıl kullanacam şimdıdıen teşekürler cevabınız için kolay gelsin
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

ilker_32

Hocam PİC BASİC pek bilmediğim için şöyle bir cevap yazayım. Kitaplarda geçen standart ASCII kodları içinde Türkçe karakterler olmuyordu. Türkçe karakterlerin ASCII'larını kendim çıkardım. Standart ASCII kodlarının en alt kısmına ekledim. Bu Türkçe ASCII'lara birer değer verdim. PİC'in epromuna yazdım. Epromdan okuma yolu ile bu iş gerçekleştirdim. Yani A'ya karşılık gelen değer 65 olduğu için A'yı 65 olarak çağırdım. (RETLW 0X65 gibi) PİC BASİC'dede A olarak bu iş gerçekleşiyor sanıyorum. Bu Türkçe karakterleride bu yolla çağırabiliyorsun. Yani sırf türkçe karakterler değil istediğimiz her şekili bu şekilde çağırabiliyorum. Ama sana CASE hakkında pek bilgi veremeyecem. PİC BASİC'de lokuup tabloları hakkında tek bildiğim bu tabloların sadece okunabilmesidir. Ofset'in ise bir başka koda dallanmasında kullanıldığını biliyorum. Yardımcı olabildiysem ne mutlu.
____________
Kolay gelsin...

teknikelektronikci

hocam dediğiniz yöntem mantıklı ollabılir ama ben bilgisayardan yazıyı değiştireceğim için bilgisayar o ş harfini gönderirken hangi ascii ollarak göndrioyor veya nasıl gönderiyor yani visual basic de kendim yazıor olsam ş harfi için atarım kafadan bi değer onu gönder derim ama hyper termianlden göndereceğim için ş harfini pice nasıl tanıtacam benim problemim bu :D neyse ılginiz için teşekür ederim. kolay gelsin
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

ilker_32

Peki hazır yapılmış programın (Mesala fahri beyin programı)göndermiş olduğu ASCII'ları okuma şansı olamaz mı? Eğer paralel porttan gönderiyorsa problem yok bence çok rahat okunabilir. Ledlerle dahi. Bunun için hazır programın tüm özelliklerini kullanmana gerek de yok. Eğer visual basic vb. dil bimiyorsan. Bu şekilde olayı çözebilirsin. Yani sen bilgisayardan A yolluyorsan bunu rahatlıkla paralel portta (istersen paralel porta bağlı olan leddede görürsün.) görürsün. Bu gördüğün değere görede kodlarını yazarsın. Diye düşünüyorum.
____________
Kolay gelsin...

teknikelektronikci

Alıntı yapılan: "ilker_32"Peki hazır yapılmış programın (Mesala fahri beyin programı)göndermiş olduğu ASCII'ları okuma şansı olamaz mı? Eğer paralel porttan gönderiyorsa problem yok bence çok rahat okunabilir. Ledlerle dahi. Bunun için hazır programın tüm özelliklerini kullanmana gerek de yok. Eğer visual basic vb. dil bimiyorsan. Bu şekilde olayı çözebilirsin. Yani sen bilgisayardan A yolluyorsan bunu rahatlıkla paralel portta (istersen paralel porta bağlı olan leddede görürsün.) görürsün. Bu gördüğün değere görede kodlarını yazarsın. Diye düşünüyorum.
____________
Kolay gelsin...


evet hocam aslinda dediginiz cok güzel olur seri bilgiyide osialskopta yakalamaya calisirim o da bir alternatif olabilir amafahri bey buna izin veririmi :D programini kullanmamaza aslinda bi ara kendisine ulasip birkac soru soracaktim ama olmadi. ama galiba biz elektronikcilerin kesnlikle visual basic ögrenmesi gerekiyor galiba :D ama ben bu isi gene simdilik virtual terminal ile yapsam daha iyi olacak.neyse artik bi caresini bulacaz ama aklima su fikirde geldi logan hocamiz in yöntemyidi galiba

 CASE "Ş": SIRA_NO=4     ; gibi deniyecem ama sanmam olacagini iste bi bulsam şu ş harfinin karşılığnı her şey çözülcek :( ılgınız ıçın teşekürler kolay gelsin
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

teknikelektronikci

merhaba arkadaşlşar üstadlar sonunda problemi çözdüm ama sadece şimdilik ş harfini çözdüm meğerse bizim ş harfinin ascii karşılığı 222 ymiş bunuda nasıl bulduğumu açıklayayaım . serı pordan gelen veriler direk eeproma kayıt ediliyor bende isisde pice seri portdan ş harfini gönderip pause  a alıp pıcın eeprom verisine baktım ne göreyim ş harfi eeprom a DE verisi ollarak kayıt edilmiş e bunlar hexadesimal olduğuna göre bunu desiaml e çeviridm ve 222 değerini buldum bunuda şimdilik deneem olsun diye a(65) yerine (case tablsounda ) 222 yazdım ve isisde ş harfine basarak veri gönderdim ve karşıma A harfleri çıkmaya başladı yani sistem gayet güzel çalışıyor bakalım şimdi diğer harfleri denıyecem sonra sonuç ollarak tekrar buraya yazarım kolay gelsin
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

CaFFeiNe

notepad i açıp ALT tuşuna basılı tutarak sağdaki nümerik tuşlar ile 128 yazıp ALT tuşunu bırakırsanız "Ç" harfini yazabilirsiniz, aynı olayı DOS ekranında ikende yapabilirsiniz bu şekilde 128 den 255 e kadar deneyerek tüm küçük/büyük türkçe karakterleri tespit edebilirsiniz

ilker_32

@CaFFeiNe hocam güzel bir özellik ama türkçe karakterler çıkmıyor.

CaFFeiNe

değişik uygulamalarda farklı karakter tabloları kullanılabiliyor

İsis virtual terminal için aşağıdaki gibi tespit edebilirsiniz



#include <16F628.h>
#use     delay(clock=4000000)
#use     rs232(baud=9600, xmit=PIN_B2,rcv=PIN_B1)

  
void main(void)
{
   long x;
   for(x=32;x<256;x++) printf("%03lu = %c\r\n",x,x);
   while(TRUE);
}

teknikelektronikci

hocam vala ben bahsetiğim yöntemle buldum işimide gördü :D tekrar cevcaplarınız için size ( cafeine) ve ilker hocama teşekürler kolay gelsin

'TÜRKÇE KARAKTERLER*************************************************************
   CASE 199: SIRA_NO=185   ;Ç
   CASE 208: SIRA_NO=190   ;Ğ
   CASE 214: SIRA_NO=195   ;Ö
   CASE 220: SIRA_NO=200   ;Ü
   CASE 222: SIRA_NO=205   ;Ş
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!