📄 ir.#1
字号:
#include <C8051F330.H>
#include "string.h"
#include "IR_Rx_Tx.h"
sbit samlpeData=P0^7;
char IRsampData[40];
char SampNo;
char SampNoData;
extern BOOL bAddrRecv;
extern unsigned char DataAvailByte;
extern unsigned char* pSMB_DATA_OUT;
extern unsigned char SMB_DATA_LEN;
extern unsigned char i_Tx;
void sampleIRdata()
{
char start=0;
DataAvailByte = FALSE;
bAddrRecv = FALSE;
pSMB_DATA_OUT = NULL;
SMB_DATA_LEN = 0x40;
SampNo=0;
SampNoData = 0;
memset( IRsampData, 0, 40 );
while(1)
{
while(!start)
{
if(samlpeData==0)
while(samlpeData)
for(start=1;start<255;start++);
while(!samlpeData)
{
DataAvailByte = FALSE;
start = 1;
Timer3_Init (5000); //start timer3
}
}
if(SampNoData==39)//samp data
{
SampNoData=0;
SampNo=0;
TMR3CN &=0xfb;
DataAvailByte = TRUE;
pSMB_DATA_OUT = IRsampData;
start=0;
while(DataAvailByte)
{
if(i_Tx==40)
{
DataAvailByte = FALSE;
i_Tx = 0;
memset( IRsampData, 0, 40 );
pSMB_DATA_OUT = IRsampData;
}
}
//delay(50000);
}
}
}
void Int_int14(void) interrupt 14
{
EA = 0;
TMR3CN &= 0x7f;
if(samlpeData)//p1.3 is HI
IRsampData[SampNoData] = (IRsampData[SampNoData]<<1)|0x1;
else
IRsampData[SampNoData] = (IRsampData[SampNoData]<<1) & 0xfe;
SampNo++;
if(SampNo==8)
{
SampNoData++;
SampNo=0;
}
EA = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -