求助,请问有什么办法能让我红外发送的低电平更稳定
2019-07-15 08:13发布
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
比如这个RC-5协议,正常的是这样的:
我发送的话是这样:
发送程序是这样的:
//定时器1中断处理
void timeint(void) interrupt 3
{
TR1 = 0; //STOP
TF1 = 0; //CLEAR FLAG
TL1 = (us2tcnt(3) & 0x00FF);
TH1 = (us2tcnt(3) >> 8);
TR1 = 1; //RUN
count++;
if (flag==1)
OP=~OP;
else
OP = 0;
IR_SEND = OP;
}
void SendIRdata_38KHZ(unsigned int temp1, bit temp2)
{
unsigned int endcount = temp1;
flag = temp2;
EA = 0;
count = 0;
EA = 1;
while(1)
{
EA = 0;
if(count < endcount)
EA = 1;
else
{
EA = 1;
break;
}
}
}
我通过调整temp1这个参数会出现:调大,发出来的数据会在1.45(最多),1.81,1.01浮动的数据,
原来是有个timer0在工作的,但是进入发送程序之前已经关闭了,TR0=0。
一周热门 更多>