virtual terminal sorunu

tobrak

Üye
Katılım
14 Eki 2012
Mesajlar
16
Puanları
1
Merhaba proteusta virtual terminal iler seri haberleşen bir devre kurdum fakat veriler lcd ekranda gözükmüyor ve virtual terminal ekranında anlamsız karakterler yazıyor ve ben birşey gönderemiyorum.devre klasik bir devredir.virtual terminalin ayarlarını inverted olarakta yaptım.Sorun acaba proteusun sürümündemi diyede 7.8 i kaldırıp 7.9 yükledim fakat hata aynı kaldı.Yardım edecek arkadaşlar ekteki devreyi çalıştırıp sorunumu görseler belki daha iyi yardımcı olabilirler.Yardımlarınızı bekliyorum.Resim ve kodlar aşağıdadır.


Kod:
#include "C:\Users\user\Desktop\rs232\rs232.c.h"
#define use_portb_lcd TRUE
#define LCD_TYPE 2
#include <LCD.C>
#use rs232 (baud=9600, xmit=pin_C6, rcv=pin_C7, parity=N, stop=1)
char klavye[80];
#int_RDA
void  RDA_isr(void)
{disable_interrupts(int_rda);
output_high(pin_c5);
gets(klavye);
printf("\n\rYazdiginiz Metin>  %s\n",klavye);
printf(lcd_putc,"\f%s",klavye);
output_low(pin_c5);
printf("\n\rKlavyeden bir metin giriniz ve enter tusuna basiniz>");

}


void main()
{
   lcd_init();



   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   lcd_init();  
   enable_interrupts(GLOBAL);
   output_low(pin_c5);
   lcd_init();
   printf("\r****Merhaba****");
   printf("\n\rKlavyeden  girdiginiz bilgiler LCD'de gorunecek\n\n");
   printf("\n\rKlavyeden bir metin giriniz ve enter tusuna basiniz>");
   enable_interrupts(GLOBAL);
   while(1)
   {enable_interrupts(int_rda);
   }
   // TODO: USER CODE!!

}
 
COMM-D9F yerine COMPIM kullan
Simülasyon yaparken max232 kullanma (tersleme yapıyor)
Programı tam inceleyemedim vaktim yok kolay gelsin.
 
Kolay gelsin kabiliyet arkadasın dediğ doğru similasyonda virtuali devrene direk bağla comm-d9f bu sadece pcb için eğer pic ile similasyon dan porttana veri göndereceksen o vakit de compim kullan ancak birde baund a dikkan rx ve tx ler aynı olmalı birde öle dene
 
Cevaplarınız için teşekkür ederim.Compim için galiba arayüz programı gerekiyor ama ben daha o aşamaya gelmedim.Sorunu ise şu şekilde çözdüm.Pic in 1 MHz olan komut komut frakansını 4MHz olarak değiştirince çalıştı fakat gerçekte 4 Mhz için 4x4=16 MHz lik clock sinyali lazım, bildiğim kadarıyla 20 MHz lik kristaller var.Pratikte 4MHz lik bir kristal yeter diye düşünüyorum.
 
pic i 4mhz kristtalle 9600 baunda rahacca çalıştıra bilirsin ben hep öle yapıyorum bi sarun yaşamadım
 
evet bazen proteusta çalışmayan uygulamalar pratiğe dökünce rahatça çalışıyor çok güvenmemek lazım smilasyona.
 
virtual terminal pc ile pic arası denemeleri rahatca yapabilirsin hep denediğim ve sorun yaşamadım. seri haberleşme denemeleri doğru şekilde pratiktede oluyor unutma sen ttl seviyesi iletişim yapıyorsun sadece uygulamadaki devrene max 232 koymayı unutma yada mex 232 kullanmadan yapacaksan pc portunun tx ( 3. pin) 10k direnç koymalısın ve seri haberleşmeni inverter yapmalısın
serin portb.1,n9600,gelen
serout portb.2,n9600,gelen

gibi
 

Forum istatistikleri

Konular
128,196
Mesajlar
915,752
Kullanıcılar
449,973
Son üye
sfc16

Yeni konular

Geri
Üst