aeldem
Üye
- Katılım
- 22 Ocak 2013
- Mesajlar
- 1
- Puanları
- 1
Merhaba arkadaşlar.
PIC16F877 nin B portuna bağlı 8 tane butonum var. bunlardan hangisine basılırsa o anda comporta veri göndermesini istiyorum. daha sonrada c# gibi bir programdan da comport taki veriyi okuyup durumlara göre işlem yapmak istiyorum. bilgisayarımda comport yok. o yüzden de virtual serial port driver eltima yı kurdum. 2 tane sanal port belirledim. 1 ini ISIS te diğerini de C# ta kullanacağım. ama ben PICC de yazdığım kodu bir türlü ISIS teki arayüzde çalıştıramadım. yani ISIS i çalıştırdığım anda butona bastığımda bacaklardaki değişikliği o anda görüyorum. ama comport a herhangi bir veri aktarmıyor. eltima dan bakıyorum herhangi bir sent işlemi varmı diye. ama hep 0 gösteriyor. C# tan da comporttan gelen bir veri varmı die bakıyorum. orda da boş bilgi görünüyor. (bu arada PIC i yeni öğreniyorum)
Acil olarak yardımcı olursanız çok sevinirim
Devrenin Kodu
Devrenin Şeması
PIC16F877 nin B portuna bağlı 8 tane butonum var. bunlardan hangisine basılırsa o anda comporta veri göndermesini istiyorum. daha sonrada c# gibi bir programdan da comport taki veriyi okuyup durumlara göre işlem yapmak istiyorum. bilgisayarımda comport yok. o yüzden de virtual serial port driver eltima yı kurdum. 2 tane sanal port belirledim. 1 ini ISIS te diğerini de C# ta kullanacağım. ama ben PICC de yazdığım kodu bir türlü ISIS teki arayüzde çalıştıramadım. yani ISIS i çalıştırdığım anda butona bastığımda bacaklardaki değişikliği o anda görüyorum. ama comport a herhangi bir veri aktarmıyor. eltima dan bakıyorum herhangi bir sent işlemi varmı diye. ama hep 0 gösteriyor. C# tan da comporttan gelen bir veri varmı die bakıyorum. orda da boş bilgi görünüyor. (bu arada PIC i yeni öğreniyorum)
Acil olarak yardımcı olursanız çok sevinirim
Devrenin Kodu
Kod:
#include <16f877.h>
#use delay (clock=4M)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, parity=N, stop=1,bits=8)
void main()
{
set_tris_b(0xff); //b portu giriş olarak ayarlandı
while(1)
{
if (input(PIN_B0)==0)
{
putc('a');
delay_ms(2000);
}
if (input(PIN_B1)==0)
{
putc('b');
delay_ms(2000);
}
if (input(PIN_B2)==0)
{
putc('c');
delay_ms(2000);
}
if (input(PIN_B3)==0)
{
putc('d');
delay_ms(2000);
}
if (input(PIN_B4)==0)
{
putc('e');
delay_ms(2000);
}
if (input(PIN_B5)==0)
{
putc('f');
delay_ms(2000);
}
if (input(PIN_B6)==0)
{
putc('g');
delay_ms(2000);
}
if (input(PIN_B7)==0)
{
putc('h');
delay_ms(2000);
}
}
}
Devrenin Şeması