CCS C RS232 hakkında acil yardım


Soruların çok değil de ancak şuan elimde bir proje var.
Ondaki bir sıkıntıyı çözmeye çalışıyorum.
Sağolsun, MAIN_LOOP da bana yardımcı oluyor.
Şu sıkıntıyı çözeyim, sorularına da cevap vereceğim...
 
çok teşekkür ederim devre çok güzel çalışıyor =) merakla bekliyorum cevaplarını.... öncelikle kolay gelsin =)
 
bu konu hakkında ilk önce kbhit() fonksiyonu var bu fonksiyonu nasıl ve ne şekilde kullanabileceğimi bilmiyorum gerçekten.

Eğer UART iletişimini yazılımsal olarak kullanıyorsan, bu fonksiyon;
RS232 alıcı ucuna gönderilen karakterin başlangıç (start) biti geldiğinde geriye TRUE dönderir.
Eğer UART iletişimini donanımsal olarak kullanıyorsan, bu fonksiyon;
Karakter alınmış ve donanım tamponunda (buffer) getc() ile okunmayı bekliyorsa, geriye TRUE dönderir.
Bu fonksiyonu; gelen veriyi bekletmeden ve durdurmadan sorgulamak için kullanabilirsin.
Not olarak; bu fonksiyon yazılımsal RS232 durumunda, gelen veririnin kaybolmamasını garantilemek için en az 10 kez bit oranını çağırmaktadır.

NOT: Yukarıdaki yazdıklarım, CCS'nin kendi Help menüsünden çevirdiğimdir.


ikinci olarak videodan aldığım atol() fonksiyonu ne amaçla kullanılıyor...

atol() fonksiyonu, string olarak aldığı bir sayıyı, integer (tamsayı) türüne çevirir.

3. olarak da int x; x=getch() şeklinde yazdığımda klavyeden girmiş olduğum bilgi x değişkenine hangi türde kaydediliyor. yani hex mi decimal vs... sanırsam ilk soru için baya şey sordum=)

char türünde kaydediyor.
0-255 arası bir değer.
Mesela RS232'den 'r' harfi basıldı.
Bu char değişkenin içi;
Hexadecimal: 0x72
Decimal: 114 olur...

Cevaplarını biraz geç vermek zorunda kaldım, işlerimden dolayı.
İyi geceler, kolay gelsin...
 
Merhaba
Bende rs232 ile picten gelen bilgiye göre gsm modem üzerinden mesaj atmak istiyorum fakat önce picle gsm modemi haberleştirmem gerekiyor.Fakat bu işte yeniyim nasıl yapacağımı bir türlü anlayamadım.Yardımcı olabilirseniz çok mutlu olurum.
 
Teşekkürler ULAGA yeni arkadaşlara çok faydalı olacak.
 

hocam verdiğin kodları aynen yapıstırdım ama olmadı. denemediğim şey kalmadı

#use RS232 (baud=9600, bits=8, parity=N, xmit=PIN_C6, rcv=PIN_C7)
bu kodaki sıralamayı değiştirdiğimizde terminalde farklı karakter oluşuyor örneğin (baud=9600,, xmit=PIN_C6, rcv=PIN_C7,bits=8, parity=N) bu şekilde parametleri farklı sıralamayla yazarsak başka karakter çıkıyor umarım anlatabilmişimdir ne yaptıysam çalıştıramadım
 
if(X==8) kullanmak yerine; bu komuttan önce bir değişken tanımla örneğin;
a=8;
ve ardından
if(x==a)
komutunu kullanarak dene.ı8
 
ilk picteki adc yi ikinci pice yollayıp Lcd den okuyabiliyorum karakter yada stringde gönderip görebiliyorum ama terminalde saçma sapan karakterler çıkıyor proteus versiyonunu yükselttim yine fayda etmedi çözümü bilen varsa fikir/yardımlarınızı bekliyorum
 
Mutlaka değiştirdiğin bir yer vardır.
Benim oluşturduğum projeyi indirip, çalıştırdığında olumlu sonuç aldın, değil mi?
 

Benzer Konular

Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…