332 lines
10 KiB
C
332 lines
10 KiB
C
|
/*
|
|||
|
* File: __GP22GAS_IR_APP_C
|
|||
|
* Author:
|
|||
|
*
|
|||
|
* Created on<EFBFBD><EFBFBD>2016-3-7
|
|||
|
*/
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C"
|
|||
|
{
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
#include "UWater_ir_app.h"
|
|||
|
#include "UWater_frame_app.h"
|
|||
|
#include "UWater_timer1uS_driver.h"
|
|||
|
#include "UWater_uart_driver.h"
|
|||
|
#include "UWater_lcd_app.h"
|
|||
|
#include "UWater_key_app.h"
|
|||
|
#include "UWater_DebugPrint.h"
|
|||
|
|
|||
|
u8 s_g_ir_control_state = IR_CONTROL_S0;
|
|||
|
u8 s_g_ir_state = 0;
|
|||
|
|
|||
|
/************************************************
|
|||
|
Function: void UartIrOpen()
|
|||
|
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Input:
|
|||
|
return:
|
|||
|
Others:
|
|||
|
*************************************************/
|
|||
|
void UartIrOpen(void)
|
|||
|
{
|
|||
|
|
|||
|
IR_38KCarrier_Close();
|
|||
|
|
|||
|
Gpio_WriteOutputIO(IR_UART_CTL_PORT, IR_UART_CTL_PIN, FALSE);
|
|||
|
UartInit(IR_UART_COM, BAUD2400, DATA_BIT_8, STOPBIT_1, UART_EVEN_PARITY, UART_LPUART_Disable);
|
|||
|
}
|
|||
|
|
|||
|
/************************************************
|
|||
|
Function: void UartIrClose()
|
|||
|
Description: <EFBFBD>رպ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Input:
|
|||
|
return:
|
|||
|
Others:
|
|||
|
*************************************************/
|
|||
|
void UartIrClose(void)
|
|||
|
{
|
|||
|
// Sysctrl_SetPeripheralGate(SysctrlPeripheralBaseTim, FALSE); //Base Timer<65><72><EFBFBD><EFBFBD>ʱ<EFBFBD>ӹر<D3B9>
|
|||
|
Bt_M0_Stop(TIM2);
|
|||
|
|
|||
|
UartPreSleep(IR_UART_COM);
|
|||
|
Gpio_WriteOutputIO(IR_UART_CTL_PORT, IR_UART_CTL_PIN, TRUE);//<2F><>Դ<EFBFBD><D4B4><EFBFBD>ƽſ<C6BD>©<EFBFBD><C2A9><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>ϵ<EFBFBD>
|
|||
|
|
|||
|
//<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RX<52><58>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>Ϊ<EFBFBD>˷<EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ©<C6AC><C2A9>
|
|||
|
stc_gpio_cfg_t stcGpioCfg;
|
|||
|
DDL_ZERO_STRUCT(stcGpioCfg);
|
|||
|
stcGpioCfg.enDir = GpioDirOut; ///< <20>˿ڷ<CBBF><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
stcGpioCfg.enDrv = GpioDrvL; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
stcGpioCfg.enPu = GpioPuDisable; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><3E><>
|
|||
|
stcGpioCfg.enPd = GpioPdDisable;
|
|||
|
stcGpioCfg.enOD = GpioOdDisable; ///< <20>˿ڿ<CBBF>©<EFBFBD><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
stcGpioCfg.enCtrlMode = GpioAHB; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>->AHB
|
|||
|
Gpio_Init(LPUART0_RX_PORT, LPUART0_RX_PIN, &stcGpioCfg);
|
|||
|
Gpio_WriteOutputIO(LPUART0_RX_PORT, LPUART0_RX_PIN, FALSE);
|
|||
|
Gpio_Init(LPUART0_TX_PORT, LPUART0_TX_PIN, &stcGpioCfg);
|
|||
|
Gpio_WriteOutputIO(LPUART0_TX_PORT, LPUART0_TX_PIN, TRUE); //TXҲ<58><D2B2><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Gpio_Init(IR_38K_PORT, IR_38K_PIN, &stcGpioCfg);
|
|||
|
Gpio_SetAfMode(IR_38K_PORT,IR_38K_PIN,GpioAf0); //<2F><>ͨIO
|
|||
|
Gpio_WriteOutputIO(IR_38K_PORT, IR_38K_PIN, TRUE);//38K<38><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/************************************************
|
|||
|
Function: void IrInitApp()
|
|||
|
Description: <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
Input:
|
|||
|
return:
|
|||
|
Others:
|
|||
|
*************************************************/
|
|||
|
void IrInitApp(void)
|
|||
|
{
|
|||
|
IR_Uart_38K_Config();
|
|||
|
|
|||
|
//< RX <20><><EFBFBD>ƽų<C6BD>ʼ<EFBFBD><CABC>
|
|||
|
stc_gpio_cfg_t stcGpioCfg;
|
|||
|
DDL_ZERO_STRUCT(stcGpioCfg);
|
|||
|
stcGpioCfg.enDir = GpioDirOut; ///< <20>˿ڷ<CBBF><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
stcGpioCfg.enDrv = GpioDrvL; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
stcGpioCfg.enPu = GpioPuDisable; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><3E><>
|
|||
|
stcGpioCfg.enPd = GpioPdDisable;
|
|||
|
stcGpioCfg.enOD = GpioOdEnable; ///< <20>˿ڿ<CBBF>©<EFBFBD><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
stcGpioCfg.enCtrlMode = GpioAHB; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>->AHB
|
|||
|
Gpio_Init(IR_UART_CTL_PORT, IR_UART_CTL_PIN, &stcGpioCfg);
|
|||
|
Gpio_WriteOutputIO(IR_UART_CTL_PORT, IR_UART_CTL_PIN, TRUE);
|
|||
|
|
|||
|
UartIrOpen();
|
|||
|
s_g_ir_control_state = IR_CONTROL_S0;
|
|||
|
FrameSetMsgApp(MsgOpenIr);
|
|||
|
}
|
|||
|
|
|||
|
/************************************************
|
|||
|
Function: IrIfSleepApp()
|
|||
|
Description: <EFBFBD><EFBFBD>ѯӦ<EFBFBD>ò<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Input:
|
|||
|
return: 1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Others:
|
|||
|
*************************************************/
|
|||
|
u8 IrIfSleepApp(void)
|
|||
|
{
|
|||
|
if( IR_CONTROL_S0 == s_g_ir_control_state)
|
|||
|
{
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
return FALSE;
|
|||
|
}
|
|||
|
u8 IrIfInS0WakeTime(void)
|
|||
|
{
|
|||
|
if(s_g_ir_control_state == IR_CONTROL_S0)
|
|||
|
{
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
return FALSE;
|
|||
|
}
|
|||
|
/************************************************
|
|||
|
Function: IrMachineApp()
|
|||
|
Description:
|
|||
|
Input:
|
|||
|
return:
|
|||
|
Others:
|
|||
|
*************************************************/
|
|||
|
void IrMachineApp(void)
|
|||
|
{
|
|||
|
switch (s_g_ir_control_state)
|
|||
|
{
|
|||
|
case IR_CONTROL_S0:
|
|||
|
{
|
|||
|
if(FrameCheckMsgApp(MsgOpenIr))
|
|||
|
{
|
|||
|
FrameClearMsgApp(MsgOpenIr);
|
|||
|
Set100msTimer(TIMER_100MS_IR_OPEN, 600);//<2F><>λ֮<CEBB><D6AE><EFBFBD><EFBFBD>ʱ60<36><30>,<2C>ر<EFBFBD>
|
|||
|
s_g_ir_control_state = IR_CONTROL_S1;
|
|||
|
}
|
|||
|
else if(KeyCheckIrOpenMsg() == TRUE )//<2F><><EFBFBD><EFBFBD><E2B5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
{
|
|||
|
KeyClearIrOpenMsg();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
Set100msTimer(TIMER_100MS_IR_OPEN, 200);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD>ʱ20<32><30>,<2C>ر<EFBFBD>
|
|||
|
s_g_ir_control_state = IR_CONTROL_S1;
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
case IR_CONTROL_S1:
|
|||
|
{
|
|||
|
if(TASK_IDLE == UartIfIdle(IR_UART_COM))
|
|||
|
{
|
|||
|
UartIrOpen();
|
|||
|
s_g_ir_control_state = IR_CONTROL_S2;
|
|||
|
}
|
|||
|
|
|||
|
break;
|
|||
|
}
|
|||
|
case IR_CONTROL_S2:
|
|||
|
{
|
|||
|
//<2F>Ǽ춨<C7BC><ECB6A8>ʱ<EFBFBD>䵽
|
|||
|
if((0 == Check100msTimer(TIMER_100MS_IR_OPEN)) &&
|
|||
|
(TASK_IDLE == UartIfIdle(IR_UART_COM))&&
|
|||
|
(10 == LcdCheckStateApp())&&
|
|||
|
(FALSE ==GetPrintNbDataSwitch()&&
|
|||
|
(FrameIfSleepApp() == TRUE)))
|
|||
|
{
|
|||
|
UartIrClose();
|
|||
|
KeyClearIrOpenMsg();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
s_g_ir_control_state = IR_DEAL_S0;
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
default:
|
|||
|
{
|
|||
|
s_g_ir_control_state = IR_DEAL_S0;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
/*************************************************
|
|||
|
Function: static void IR_Uart_38K_Config(void)
|
|||
|
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>38K <EFBFBD><EFBFBD><EFBFBD><EFBFBD>PWM<EFBFBD><EFBFBD><EFBFBD>ؼĴ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Input: <EFBFBD><EFBFBD>
|
|||
|
Return: <EFBFBD><EFBFBD>
|
|||
|
Others:
|
|||
|
*************************************************/
|
|||
|
void IR_Uart_38K_Config(void)
|
|||
|
{
|
|||
|
#if IR_38K_OPEN
|
|||
|
u16 u16ArrValue;
|
|||
|
u16 u16CntValue;
|
|||
|
u16 u16Period;
|
|||
|
stc_bt_mode0_cfg_t stcBtBaseCfg;
|
|||
|
stc_gpio_cfg_t stcTIM1APort;
|
|||
|
|
|||
|
DDL_ZERO_STRUCT(stcTIM1APort);
|
|||
|
DDL_ZERO_STRUCT(stcBtBaseCfg);
|
|||
|
//PA03<30><33><EFBFBD><EFBFBD>ΪTIM2_CHB
|
|||
|
stcTIM1APort.enDir = GpioDirOut;
|
|||
|
Gpio_Init(IR_38K_PORT, IR_38K_PIN, &stcTIM1APort);
|
|||
|
Gpio_SetAfMode(IR_38K_PORT,IR_38K_PIN,IR_38K_AF);
|
|||
|
Sysctrl_SetPeripheralGate(SysctrlPeripheralBaseTim, TRUE); //Base Timer<65><72><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʹ<EFBFBD><CAB9>
|
|||
|
|
|||
|
stcBtBaseCfg.enWorkMode = BtWorkMode0; //<2F><>ʱ<EFBFBD><CAB1>ģʽ
|
|||
|
stcBtBaseCfg.enCT = BtTimer; //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ϊ<EFBFBD>ڲ<EFBFBD>PCLK
|
|||
|
stcBtBaseCfg.enPRS = BtPCLKDiv1; //PCLK/3
|
|||
|
stcBtBaseCfg.enCntMode = Bt16bitArrMode; //<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>16λ<36><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>ʱ<EFBFBD><CAB1>
|
|||
|
stcBtBaseCfg.bEnTog = TRUE;
|
|||
|
stcBtBaseCfg.bEnGate = FALSE;
|
|||
|
stcBtBaseCfg.enGateP = BtGatePositive;
|
|||
|
|
|||
|
Bt_Mode0_Init(TIM2, &stcBtBaseCfg); //TIM2 <20><>ģʽ0<CABD><30><EFBFBD>ܳ<EFBFBD>ʼ<EFBFBD><CABC>8 *
|
|||
|
|
|||
|
u16Period = Sysctrl_GetPClkFreq() /(2 * 38000);
|
|||
|
u16ArrValue = 0x10000 - u16Period;
|
|||
|
Bt_M0_ARRSet(TIM2, u16ArrValue); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ(ARR = 0x10000 - <20><><EFBFBD><EFBFBD>)
|
|||
|
u16CntValue = 0x10000 - u16Period;
|
|||
|
Bt_M0_Cnt16Set(TIM2, u16CntValue); //<2F><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
Bt_M0_Enable_Output(TIM2, TRUE); //TIM2 <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
|
|||
|
|
|||
|
#endif
|
|||
|
}
|
|||
|
//
|
|||
|
void IR_Uart_38K_PreSleep(void)
|
|||
|
{
|
|||
|
Sysctrl_SetPeripheralGate(SysctrlPeripheralBaseTim, FALSE); //Base Timer<65><72><EFBFBD><EFBFBD>ʱ<EFBFBD>ӹر<D3B9>
|
|||
|
Bt_M0_Stop(TIM2);
|
|||
|
|
|||
|
Gpio_WriteOutputIO(IR_UART_CTL_PORT, IR_UART_CTL_PIN, TRUE);//<2F><>Դ<EFBFBD><D4B4><EFBFBD>ƽſ<C6BD>©<EFBFBD><C2A9><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>ϵ<EFBFBD>
|
|||
|
|
|||
|
//<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RX<52><58>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>Ϊ<EFBFBD>˷<EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ©<C6AC><C2A9>
|
|||
|
stc_gpio_cfg_t stcGpioCfg;
|
|||
|
DDL_ZERO_STRUCT(stcGpioCfg);
|
|||
|
stcGpioCfg.enDir = GpioDirOut; ///< <20>˿ڷ<CBBF><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
stcGpioCfg.enDrv = GpioDrvL; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
stcGpioCfg.enPu = GpioPuDisable; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><3E><>
|
|||
|
stcGpioCfg.enPd = GpioPdDisable;
|
|||
|
stcGpioCfg.enOD = GpioOdDisable; ///< <20>˿ڿ<CBBF>©<EFBFBD><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
stcGpioCfg.enCtrlMode = GpioAHB; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>->AHB
|
|||
|
Gpio_Init(LPUART0_RX_PORT, LPUART0_RX_PIN, &stcGpioCfg);
|
|||
|
Gpio_WriteOutputIO(LPUART0_RX_PORT, LPUART0_RX_PIN, FALSE);
|
|||
|
Gpio_Init(LPUART0_TX_PORT, LPUART0_TX_PIN, &stcGpioCfg);
|
|||
|
Gpio_WriteOutputIO(LPUART0_TX_PORT, LPUART0_TX_PIN, TRUE); //TXҲ<58><D2B2><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Gpio_Init(IR_38K_PORT, IR_38K_PIN, &stcGpioCfg);
|
|||
|
Gpio_SetAfMode(IR_38K_PORT,IR_38K_PIN,GpioAf0); //<2F><>ͨIO
|
|||
|
Gpio_WriteOutputIO(IR_38K_PORT, IR_38K_PIN, TRUE);//38K<38><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
|
|||
|
}
|
|||
|
//
|
|||
|
//void IR_Uart_38K_Enable(boolean_t enCmd)
|
|||
|
//{
|
|||
|
//#if IR_38K_OPEN
|
|||
|
// if(TRUE == enCmd)
|
|||
|
// {
|
|||
|
// UartInit(IR_UART_COM,BAUD2400,DATA_BIT_8,STOPBIT_1,UART_EVEN_PARITY,UART_LPUART_Disable);//UART_EVEN_PARITY UART_NONE_PARITY
|
|||
|
// IR_Uart_38K_Config();
|
|||
|
// Bt_M0_Run(TIM2); //TIM2 <20><><EFBFBD><EFBFBD>
|
|||
|
//
|
|||
|
// Gpio_WriteOutputIO(IR_UART_CTL_PORT, IR_UART_CTL_PIN, FALSE);
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// Gpio_WriteOutputIO(IR_38K_PORT,IR_38K_PIN, TRUE);//38K<38><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
|
|||
|
// Gpio_WriteOutputIO(IR_UART_CTL_PORT, IR_UART_CTL_PIN, TRUE);//<2F><>Դ<EFBFBD><D4B4><EFBFBD>ƽſ<C6BD>©<EFBFBD><C2A9><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>ϵ<EFBFBD>
|
|||
|
// //<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RX<52><58>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>Ϊ<EFBFBD>˷<EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ©<C6AC><C2A9>
|
|||
|
// stc_gpio_cfg_t stcGpioCfg;
|
|||
|
// DDL_ZERO_STRUCT(stcGpioCfg);
|
|||
|
// stcGpioCfg.enDir = GpioDirOut; ///< <20>˿ڷ<CBBF><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// stcGpioCfg.enDrv = GpioDrvL; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// stcGpioCfg.enPu = GpioPuDisable; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><3E><>
|
|||
|
// stcGpioCfg.enPd = GpioPdDisable;
|
|||
|
// stcGpioCfg.enOD = GpioOdDisable; ///< <20>˿ڿ<CBBF>©<EFBFBD><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// stcGpioCfg.enCtrlMode = GpioAHB; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>->AHB
|
|||
|
// Gpio_Init(LPUART0_RX_PORT, LPUART0_RX_PIN, &stcGpioCfg);
|
|||
|
// Gpio_WriteOutputIO(LPUART0_RX_PORT, LPUART0_RX_PIN, FALSE);
|
|||
|
// Gpio_Init(LPUART0_TX_PORT, LPUART0_TX_PIN, &stcGpioCfg);
|
|||
|
// Gpio_WriteOutputIO(LPUART0_TX_PORT, LPUART0_TX_PIN, TRUE); //TXҲ<58><D2B2><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// Gpio_WriteOutputIO(IR_38K_PORT, IR_38K_PIN, TRUE);//38K<38><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
|
|||
|
// }
|
|||
|
//#endif
|
|||
|
//}
|
|||
|
|
|||
|
/*************************************************
|
|||
|
Function: void IR_38K_Open(void)
|
|||
|
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>38K <EFBFBD><EFBFBD><EFBFBD><EFBFBD>PWM<EFBFBD><EFBFBD><EFBFBD>ؼĴ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>38K<EFBFBD>ز<EFBFBD>
|
|||
|
Input: <EFBFBD><EFBFBD>
|
|||
|
Return: <EFBFBD><EFBFBD>
|
|||
|
Others:
|
|||
|
*************************************************/
|
|||
|
void IR_38KCarrier_Open(void)
|
|||
|
{
|
|||
|
IR_Uart_38K_Config();
|
|||
|
Bt_M0_Run(TIM2);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/*************************************************
|
|||
|
Function: void IR_38K_Close(void)
|
|||
|
Description: <EFBFBD>ر<EFBFBD>38K<EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Input: <EFBFBD><EFBFBD>
|
|||
|
Return: <EFBFBD><EFBFBD>
|
|||
|
Others:
|
|||
|
*************************************************/
|
|||
|
void IR_38KCarrier_Close(void)
|
|||
|
{
|
|||
|
Bt_M0_Stop(TIM2);
|
|||
|
stc_gpio_cfg_t stcGpioCfg;
|
|||
|
DDL_ZERO_STRUCT(stcGpioCfg);
|
|||
|
stcGpioCfg.enDir = GpioDirOut; ///< <20>˿ڷ<CBBF><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
stcGpioCfg.enDrv = GpioDrvL; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
stcGpioCfg.enPu = GpioPuDisable; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-><3E><>
|
|||
|
stcGpioCfg.enPd = GpioPdDisable;
|
|||
|
stcGpioCfg.enOD = GpioOdDisable; ///< <20>˿ڿ<CBBF>©<EFBFBD><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
stcGpioCfg.enCtrlMode = GpioAHB; ///< <20>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>->AHB
|
|||
|
Gpio_Init(IR_38K_PORT, IR_38K_PIN, &stcGpioCfg);
|
|||
|
Gpio_SetAfMode(IR_38K_PORT,IR_38K_PIN,GpioAf0); //<2F><>ͨIO
|
|||
|
Gpio_WriteOutputIO(IR_38K_PORT, IR_38K_PIN, TRUE);//38K<38><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif //#ifdef __cplusplus
|
|||
|
|