📄 sendpwm.c
字号:
};
//===============================================================================================
u16 ArrID84B1676[]={//曼码
0xFE10,0X002a,//HEAD
0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,
0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,
0XF02a,
0xf02a,0X002a,//SYN HEAD
0XF02a,0X002a,0XF02a,0X002a,0X002a,0XF02a,0X002a,0XF02a,//c-1100//id
0X002a,0XF02a,0X002a,0XF02a,0XF02a,0X002a,0X002a,0XF02a,//2-0010
0XF02a,0X002a,0XF02a,0X002a,0X002a,0XF02a,0X002a,0XF02a,//c-1100
0XF02a,0X002a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,//8-1000
0X002a,0XF02a,0XF02a,0X002a,0X002a,0XF02a,0X002a,0XF02a,//4-0100
0X002a,0XF02a,0X002a,0XF02a,0XF02a,0X002a,0X002a,0XF02a,//2-0010
0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0XF02a,0X002a,//1-0001
0XF02a,0X002a,0XF02a,0X002a,0X002a,0XF02a,0XF02a,0X002a,//d-1101
0XF02a,0X002a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,//8-1000
0X002a,0XF02a,0XF02a,0X002a,0XF02a,0X002a,0X002a,0XF02a,//6-0110
0X002a,0XF02a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,//7-0111//data
0X002a,0XF02a,0X002a,0XF02a,0XF02a,0X002a,0X002a,0XF02a,//2-0010
0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,//0-0000
0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0XF02a,0X002a,//1-0001
0X002a,0XF02a,0XF02a,0X002a,0X002a,0XF02a,0X002a,0XF02a,//4-0100
0XF02a,0X002a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,//8-1000
0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,//0-0000
0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0XF02a,0X002a,//1-0001
0XF02a,0X002a,0XF02a,0X002a,0X002a,0XF02a,0XF02a,0X002a,//d-1101
0X002a,0XF02a,0XF02a,0X002a,0X002a,0XF02a,0XF02a,0X002a,//4-0100
0X002a,0XF02a,0Xf02a,0X002a,//01 结束位
0xffff,0xffff
};
//===============================================================================================
u16 ArrID115DD5C0[]={//曼码
0xFE88,0X002a,//HEAD,3.72MS HIGH
0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,
0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,
0XF02a,
0xf02a,0X002a,//SYN HEAD:1
0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0XF02a,0X002a,//1-0001,ID
0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0XF02a,0X002a,//1-0001
0X002a,0XF02a,0XF02a,0X002a,0X002a,0XF02a,0XF02a,0X002a,//5-0101
0XF02a,0X002a,0XF02a,0X002a,0X002a,0XF02a,0XF02a,0X002a,//d-1101
0XF02a,0X002a,0XF02a,0X002a,0X002a,0XF02a,0XF02a,0X002a,//d-1101
0X002a,0XF02a,0XF02a,0X002a,0X002a,0XF02a,0XF02a,0X002a,//5-0101
0XF02a,0X002a,0XF02a,0X002a,0X002a,0XF02a,0X002a,0XF02a,//C-1100
0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,//0-0000
0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,//0-0000:DATA
0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0XF02a,0X002a,//1-0001
0X002a,0XF02a,0XF02a,0X002a,0X002a,0XF02a,0X002a,0XF02a,//4-0100
0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0XF02a,0X002a,//1-0001
0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,//0-0000
0X002a,0XF02a,0X002a,0XF02a,0X002a,0XF02a,0XF02a,0X002a,//1-0001
0X002a,0XF02a,0XF02a,0X002a,0X002a,0XF02a,0XF02a,0X002a,//5-0101
0XF02a,0X002a,0XF02a,0X002a,0X002a,0XF02a,0X002a,0XF02a,//C-1100
0X002a,0XF02a,0XF02a,0X002a,0X002a,0XF02a,0XF02a,0X002a,//4-0100
0X002a,0XF02a,0XF02a,0X002a,0X002a,0XF02a,0XF02a,0X002a,//4-0100
0X002a,0XF02a,0Xf02a,0XF02a,//01 结束位
0xffff,0xffff
};
//=====================================================================
void SendWaveNext(void)
{
//u16 *temp;
u16 Pulse =0X0;
TIM_Logic_Levels Level;
Pulse = *(WaveData++);
// temp = WaveData;
Level = (Pulse & 0xf000)?TIM_LOW:TIM_HIGH;//A匹配输出电平
if(Pulse == 0xffff)
{WaveData = 0x0;
//TIM_CounterConfig(TIM3, TIM_STOP);
EndFlag = TRUE;
}
else
{TIM_OCMPModeConfig ( TIM3, TIM_CHANNEL_B,(Pulse&0X0FFF), TIM_WAVE, Level );
GPIO_BitWrite(GPIO1,0x02,Level);
}
}
/***************************************************************************
函数名:SendWave
输入参数:u8 IDNo 传感器ID号
输出参数:无
功能:根据传感器类型选择发送函数
***************************************************************************/
void SendWave(u8 IDNo)
{
WaveData = 0x0;
switch (IDNo)
{
case IDB8962A:
WaveData = ArrIDB8962A;
break;
case IDB8968D:
WaveData = ArrIDB8968D;
break;
case ID912066:
WaveData = ArrID912066;
break;
case ID911FE5:
WaveData = ArrID911FE5;
break;
case ID882DCD85:
WaveData = ArrID882DCD85;
break;
case ID216843:
WaveData = ArrID216843;
break;
case ID53785060:
WaveData = ArrID53785060;
break;
case ID53774200:
WaveData = ArrID53774200;
break;
case ID84B1676:
WaveData = ArrID84B1676;
break;
case ID115DD5C0:
WaveData = ArrID115DD5C0;
break;
default:
break;
}
TimeStart(IDNo);
}
/***************************************************************************
函数名:TimeStart
输入参数:wu
输出参数:无
功能:时间分频,启动定时器
***************************************************************************/
void TimeStart(u8 IDNo)
{
// Configure the TIM Prescaler
/* switch( IDNo)
{
case IDB8962A:
case IDB8968D:
TIM_OCMPModeConfig ( TIM3, TIM_CHANNEL_B, 0x0020, TIM_WAVE, TIM_HIGH );
break;
case ID912066:
case ID911FE5:
case ID882DCD85:
case ID216843:
case ID53785060:
case ID53774200:
TIM_OCMPModeConfig ( TIM3, TIM_CHANNEL_B, 0x0020, TIM_WAVE, TIM_HIGH );
break;
default:
break;
}
*/
TIM_OCMPModeConfig ( TIM3, TIM_CHANNEL_B, 0x0020, TIM_WAVE, TIM_HIGH );
TIM_PrescalerConfig(TIM3, 0x2f); // 48 MHz,计数周期0.0208us。定时器不
EIC_IRQChannelConfig(T3TIMI_IRQChannel, ENABLE);
TIM_CounterConfig(TIM3, TIM_START);//启动计湿气
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -