#include "omw_config.h"
#include "omw_dbg.h"
#include "omw_uart.h"
#include "periph_gpio.h"
#include "periph_gpadc.h"
#include "periph_timer.h"
#include "t1002_otp_cfg.h"


// 使用EV KIT LED和按键，具体连接为：
int main()
{	
    TIMER_InitTypeDef TIMER_InitStruct;
    GPIO_InitTypeDef GPIO_InitStruct;

    // init
    omw_dbg_init();
    printf("TIMER test ...\n");
    
    //初始化GPIO
//    GPIO_DeInit(GPIO_PIN_14 | GPIO_PIN_15 | GPIO_PIN_22 | GPIO_PIN_23);
//    GPIO_StructInit(&GPIO_InitStruct);
//    GPIO_InitStruct.GPIO_Pin = GPIO_PIN_14;
//    GPIO_InitStruct.GPIO_AltFunc = OMW_GPIO14_PWM_3;
//    GPIO_InitStruct.GPIO_DriveStrength = GPIO_DRIVE_STRENGTH_0;
//    GPIO_InitStruct.GPIO_Mode = GPIO_MODE_IN_FLOATING;
//    GPIO_Init(&GPIO_InitStruct);
//
//    GPIO_StructInit(&GPIO_InitStruct);
//    GPIO_InitStruct.GPIO_Pin = GPIO_PIN_15;
//    GPIO_InitStruct.GPIO_AltFunc = OMW_GPIO15_PWM_3_N;
//    GPIO_InitStruct.GPIO_DriveStrength = GPIO_DRIVE_STRENGTH_0; 
//    GPIO_InitStruct.GPIO_Mode = GPIO_MODE_IN_FLOATING;
//    GPIO_Init(&GPIO_InitStruct);
   
    GPIO_StructInit(&GPIO_InitStruct);
    GPIO_InitStruct.GPIO_Pin = GPIO_PIN_22;
    GPIO_InitStruct.GPIO_AltFunc = OMW_GPIO22_PWM_7;
    GPIO_InitStruct.GPIO_DriveStrength = GPIO_DRIVE_STRENGTH_0; 
    GPIO_InitStruct.GPIO_Mode = GPIO_MODE_IN_FLOATING;
    GPIO_Init(&GPIO_InitStruct);    

    GPIO_StructInit(&GPIO_InitStruct);
    GPIO_InitStruct.GPIO_Pin = GPIO_PIN_23;
    GPIO_InitStruct.GPIO_AltFunc = OMW_GPIO23_PWM_7_N;
    GPIO_InitStruct.GPIO_DriveStrength = GPIO_DRIVE_STRENGTH_0;
    GPIO_InitStruct.GPIO_Mode = GPIO_MODE_IN_FLOATING;
    GPIO_Init(&GPIO_InitStruct);    


//    TIMER_StructInit(&TIMER_InitStruct);
//    //TIMER3通过GPIO14/15输出100K占空比为70%的PWM波形及其反向波形
//    TIMER_InitStruct.TIMER_CLKSelect = TIMER_CLK_SEL_PLL48M;
//    TIMER_InitStruct.TIMER_CLKDivide = TIMER_CLK_DIVIDE_NONE;
//    TIMER_InitStruct.TIMER_PWMCmd = ENABLE;
//    TIMER_InitStruct.TIMER_PWM0N100Cmd = DISABLE;
//    TIMER_InitStruct.TIMER_Mode = TIMER_MODE_USER_DEFINED;
//    TIMER_InitStruct.TIMER_Loadcount = 336;
//    TIMER_InitStruct.TIMER_Loadcount2 = 144;
//    TIMER_Init(TIMER3, &TIMER_InitStruct);
//    TIMER_ITCmd(TIMER3, DISABLE);
//    TIMER_Cmd(TIMER3, ENABLE);

    //TIMER7通过GPIO22/23输出10K占空比为20%的PWM波形
    TIMER_InitStruct.TIMER_CLKSelect = TIMER_CLK_SEL_XTAL24M;
	TIMER_InitStruct.TIMER_CLKDivide = TIMER_CLK_DIVIDE_2;
    TIMER_InitStruct.TIMER_PWMCmd = ENABLE;
    TIMER_InitStruct.TIMER_PWM0N100Cmd = DISABLE;
    TIMER_InitStruct.TIMER_Mode = TIMER_MODE_USER_DEFINED;
    TIMER_InitStruct.TIMER_Loadcount = 240;
    TIMER_InitStruct.TIMER_Loadcount2 = 960;
    TIMER_Init(TIMER7, &TIMER_InitStruct);
    TIMER_ITCmd(TIMER7, DISABLE);
    TIMER_Cmd(TIMER7, ENABLE);
	

    while(1);
}





