模拟红外协议发送源程序(二)

2014-11-23 21:46:37 · 作者: · 浏览: 14
} else //发送高 { PortIr_High ; if(IrDatTsmt & 0x01) //发送1 { IrTmp1 = TDAT_HIGH ; } else { IrTmp1 = TDAT_LOW ;//发送0 } if(Ircont >= IrTmp1) { Ircont = 0 ; IrDatTsmt >>= 1 ; F_IrStatus = 0 ; BitNum ++ ; if(BitNum >= (IrDatLong *8 +1))//一次发送16个BIT { BitNum = 0 ; F_IrTsmt = 0 ;//发送结束 } } } } } //文件main.c void main(void) { uint16 R_DspIrDat ; while(1) { if(T_10MS >
= 200)//200*50u=10ms 跑一次主程序 { T_10MS = 0 ; R_DspIrDat = 1234 ; CmdTansmitData(R_DspIrDat,100) ;//发送1234 间隔100*10MS=1S 发送1次 } } } //中断服务程序 void interrupt server(void) //中断进入时间50U { uint8 Tmp ; uint8 *pTmp ; TIM6_SR1 = 0x00; // 清除更新标志 50u 中断一 次 T_10MS ++ ; CmdIrTsmtDat() ; //控制发送 }