Python ile RS232 üzerinden string gönderme

Başlatan Yeniüye1234, 08 Haziran 2022, 22:20:22

fide

Ccs c de gets komutu enter (chr13 yada /r) gelene kadar gelen karakterleri alır. Enter gelince alma işlemi biter. Ama sadece bir karakter almak istiyorsanız getc yada getchar diye bir komut var.

@eskişehir26 siz yapmak istediğiniz işlemi tam olarak anlatın. Ona göre bir çözüm bulmaya çalışalım.

@kudretuzuner abi aslında h31 de b00030001 de "1" de aynı şey. Sadece bizim binary / hex yada string olarak değerlendirmemiz işi değiştiriyor.
Her birimiz, geride bıraktığımız eserler kadar ölümsüzüz. Evlat gibi, talebe gibi, icatlar gibi...   http://fidenetgaraj.blogspot.com

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Yeniüye1234

Benim istediğim Pythondan "asd" ifadesini PIC' e göndermek. PIC kodları CCS C ile yazıldı. gets( ); komutu ile de Python' dan gelen stringi almak.

kudretuzuner

Yazdığım gibi bağlantı kurup python dili ile PIC'e bu kodları sıra ile yollarsanız PIC'te dizayn ettiğiniz donanımda bu değerleri görebilmeniz gerekir.
"        HEX'22' dir
a        HEX'61' dir
s        HEX'73' tür
d        HEX'64' tür
"        HEX'22' dir
Amatör

fide

text = "asd/r".encode("utf-8")
serial.write(text)

Python da bunu deneyin.
Her birimiz, geride bıraktığımız eserler kadar ölümsüzüz. Evlat gibi, talebe gibi, icatlar gibi...   http://fidenetgaraj.blogspot.com

Yeniüye1234

Yazılan hepsini daha önce denedim. Python gönderse bile PIC bunu almıyor. Daha önce yazdığım gibi gets komutuyla stringi almak için string ifade yazıldıktan sonra enter tuşuna basmak lazım. "asd"ifadesinden sonra enter tuşu nasıl gönderebilirim?

mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

Yeniüye1234


fide

getc, getchar ile karakter karakter yapılır.
gets ile enter ile biten stringler alınır. 
Her birimiz, geride bıraktığımız eserler kadar ölümsüzüz. Evlat gibi, talebe gibi, icatlar gibi...   http://fidenetgaraj.blogspot.com

mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

Yeniüye1234

#25
Alıntı yapılan: fide - 10 Haziran 2022, 19:09:57getc, getchar ile karakter karakter yapılır.
gets ile enter ile biten stringler alınır. 

CCS C de bir örnek verirmisiniz?

10 Haziran 2022, 20:16:22
Alıntı yapılan: mehmet - 10 Haziran 2022, 19:13:11https://www.kitapyurdu.com/kitap/ccs-c-ile--pic-programlama/101934.html

Hocam bende o kitapta var o kitaba göre daha geniş kapsamlı notlarım da var. Ben gets komutu ile string alamıyorum. Yada python dan gönderemiyorum. Sorun orda. O kitapta RS232 ile tek bir örnek var. O da gets( ); koomutu ile ancak kalvyeden girilen string ile işlem yapıyor. Ben Python üzerinden string göndermeye çalışıyorum.

mehmet

Lojik analizör ile gönderilen
paketi inceleyin. Buna göre
düzenleme yapın.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

Yeniüye1234

#27
Normalde "asd\r" yazılması gerekiyor. Ancak hiç bir işlem yapmıyor.

   

fide

Siz yazdığınız kodu yükleyin buraya. Onun üzerinde konuşalım.
Her birimiz, geride bıraktığımız eserler kadar ölümsüzüz. Evlat gibi, talebe gibi, icatlar gibi...   http://fidenetgaraj.blogspot.com

Yeniüye1234

Alıntı yapılan: fide - 11 Haziran 2022, 05:16:53Siz yazdığınız kodu yükleyin buraya. Onun üzerinde konuşalım.

char data[10];
char veri[ ]="asd"
....
....
gets(data);
if(strcmp(data,veri)==0)
....