RS232 DEN BİLGİSAYARA NASIL VERİ GÖNDEREBİLİRİM ACİLL!!

Başlatan ömerka, 05 Nisan 2012, 08:24:14

ömerka

mrb PİC ustaları, pic 16f877 den max232 ile bilgisayara 10 bitlik veri göndermek istiyorum nasıl yapabilirim.

t2

pic usart rx tx ucunu max 232 nin tx rx ucuna bağlamak ve baud hızlarını eşit ayarlamak suretiyle yapılır. tabi şaseler ortak olması lazım.

Şaseler derken?

ömerka

BAĞLANTIDA SIKINTI YOK ONU YAPIYORUM AMA PİC İN İÇİNDE HANGİ KODLA YOLLAYACAĞIM MAX 232 YE?

ömerka

acil yardımm.. printf ile mi göndereceğim başka bir komutu var mı. bir de iki farklı gerilim bilgisi göndereceğim. onu nasıl yapabilirim.

skara1214

#include <16F628A.h>// sen istediğin pici yaz
#fuses HS,NOWDT 
#use delay (clock=20000000)//kullandığın kristali yaz
#use rs232 (baud=250000,xmit=PIN_B2, rcv=PIN_B1, parity=N, stop=1)//pic datasheetine bak senin picindeki tx-rx i bacaklarını yaz ayrıca kullanacağın baud rate i değiştir
void main()
{
while(TRUE)
{
printf("selam\r\n");
delay_ms(2000);
}
}
Herkes ölür ama herkes gerçekten yaşamaz


balhan146

ömerka oldumu?Sen bu devrede pc'ye ne bilgisi gönderecektin?Veya pc'ile bişeyin kontrolünümü yapacaktın?

ömerka

Slm balhan146, ben batarya yönetim sistemi diye birşey yapıyorum bitirme tezim Olarak.
Bir bataryanın 3 4 cihaz bağlıyken doluluk oranını ve ne kadar süreyle kullanılabileceîini  bilgisayarda bir arayüzde göstereceğim. Şu an zorlandığım nokta akım sensöründen aldığım gerilim verisini nasıl değerlendireceğim onu bilmiyorum.

Okan AKÇA

ben acıkcası deney kartını programlıyorum taktımmı pc ye catur cutur gidiyor..

semih

Konu biraz eskiymiş.Ama yine de cevap yazayım dedim.Yeni konu açmaktansa. :)
void main()
{
   set_tris_a(0x01);//RA0 aktif
   setup_adc(adc_clock_div_32);
   setup_adc_ports(AN0);//Sadece RA0 pini kullanılacak.
   set_adc_channel(0);
   delay_us(250);
   
   while(1)
   {
      deger=read_adc();
      gerilim=(0.0048828412*deger)*1000;//0.0048828412 adım büyüklüğüdür.
      sicaklik=gerilim/10+2;
      printf("Sicaklik: %f",sicaklik);
      delay_ms(5000);
   }
}


Kodlarım yukarıdaki gibi.Isis programında Virtual Terminal kullanarak simülasyon yaptığım zaman sıcaklık değerini görebiliyorum.Fakat devreyi kurup çalıştırdığımda ve CCS C-Tools-Serial Port Monitor'ü açtığım zaman çıkan ekranda RXD kırmızı halde duruyor. BU da heralde veri okunmadığı anlamına gelmekte. Sorun neredne kaynaklı acaba?

skara1214

isiste çalışıp normalde çalışmıyorsa %99 gerçek devrende  sıkıntı vardır birde hyper terminal ile iletişimi bir dene derim
Herkes ölür ama herkes gerçekten yaşamaz


semih

Alıntı yapılan: skara1214 - 24 Aralık 2012, 00:49:56
isiste çalışıp normalde çalışmıyorsa %99 gerçek devrende  sıkıntı vardır birde hyper terminal ile iletişimi bir dene derim
Dediğiniz seri portu bulunan bilgisayarlar için geçerli. Ben laptop ve dolayısıyla USB-RS232 dönüştürücü kullanıyorum. Devremde bir sıkıntı olmadığına eminim. Acaba veri gönderme sadece printf gibi komutlarla mı yapılıyor?