Hi-Tech C Sony kumanda reader

Başlatan XX_CİHAN_XX, 24 Eylül 2008, 22:15:42

XX_CİHAN_XX

Bu program sony marka projetkör kumandasını okumak için yazılmıştır.
Yazılan dil Hi-tech C dir.
Kullanılan derleyici mplabdır.
Bu program 15 bitlik data gönderen tüm sony marka kumandalarda çalışabilmektedir.
Kumandanın gönderdiği 15 bitlik(2 byte lık) datayı alış sırasına göre eeproma kaydediyor. Kayıt formatı: High byte + Low byte şeklindedir.
Kullanılan Mcu: 16f628
//15 bitlik sony protokolü ile veri alır
//kumandadan aldığı bu iki byte lık veriyi dahili eeproma kaydeder.
	#include <pic.h>
	#include "delay.h"
	__CONFIG( INTIO & WDTDIS & PWRTDIS & BORDIS & LVPDIS & MCLRDIS & UNPROTECT);	
	#define	DQ	RB0		//IR EYE

	static volatile unsigned char count, address;
	static volatile unsigned int veri;

	void main(void){
	CMCON = 7;
	OPTION = 0x00;
	TRISA = 0xFB;
	TRISB = 1;
	DelayMs(250);
	address = 0;
	while(1){
	TMR1ON = 0;
	TMR1L = 0;
	TMR1H = 0;
	TMR1IF = 0;
	veri = 0;
	while(DQ);		//kumandanın tuşuna basılmasını bekle
	TMR1ON = 1;
	while(!DQ);		//2.4ms low da bekle
	TMR1ON = 0;
	if(TMR1IF==1)goto hata;
	if(TMR1H<8)goto hata;	//2ms den kısa ise start biti değil
	for(count=0;count<15;count++){
	TMR1L = 0;
	TMR1H = 0;
	while(DQ);		//600us high da bekle
	TMR1ON = 1;		//ilk veri biti için timer başladı
	while(!DQ);
	TMR1ON = 0;
	if(TMR1IF==1)goto hata;
	if(TMR1H<4) asm("bcf 3,0");	//carry=0
	else asm("bsf 3,0");	//carry=1
#asm
	rrf _veri+1,F
	rrf _veri,F
#endasm
				  					 }
	eeprom_write(address, veri>>8);
	address++;	
	eeprom_write(address, veri);	
	address++;	
hata:
	DelayMs(25);
			}		
				   }
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

fatihvelid

Paylaşım için sağolun.
Panasonic, Sanyo, Hitachi, Epson projektörlerin kullandığı haberleşme protokolleri nedir?
Bu projektörlerin haberleşme kodlarını okumak istiyorum.
Kainatta her canlı "DNA" diliyle yazılmış bir programdır...

XX_CİHAN_XX

O dediklerini hiç kullanma fırsatım olmadı. Ama internette protokol içeriği ile ilgili detaylı bilgi bulamazsan bunu kodlarla okuma yaparak çözebilirsin.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

cevat

peki eeproma kaydttiğimiz verileri nasıl aynı işi görücek kumandaya yüklicez .onuda yapar koyarsanız güzel olur

XX_CİHAN_XX

Alıntı yapılan: "cevat"peki eeproma kaydttiğimiz verileri nasıl aynı işi görücek kumandaya yüklicez .onuda yapar koyarsanız güzel olur
Tam olarak anlıyamadım. Bahsettiğiniz şey herhangi bir kumandanın kodlarını çözmek için gerekli kodlar mı?
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.