Example #1
0
void main (void)
{
#if(PREEMPTION == 1)
  //配置PIT0的NVIC分组
  nvic_init_struct.NVIC_IRQChannel = PIT0_IRQn;
  nvic_init_struct.NVIC_IRQChannelGroupPriority = NVIC_PriorityGroup_1;
  nvic_init_struct.NVIC_IRQChannelPreemptionPriority = 0;
  LPLD_NVIC_Init(nvic_init_struct);
  //配置PIT1的NVIC分组
  nvic_init_struct.NVIC_IRQChannel = PIT1_IRQn;
  nvic_init_struct.NVIC_IRQChannelGroupPriority = NVIC_PriorityGroup_1;
  nvic_init_struct.NVIC_IRQChannelPreemptionPriority = 1;
  LPLD_NVIC_Init(nvic_init_struct);
#endif
  
  //配置PIT0
  pit0_init_struct.PIT_Pitx = PIT0;
  pit0_init_struct.PIT_PeriodMs = 500;
  pit0_init_struct.PIT_Isr = pit0_isr;
  LPLD_PIT_Init(pit0_init_struct);
  //配置PIT1
  pit1_init_struct.PIT_Pitx = PIT1;
  pit1_init_struct.PIT_PeriodMs = 1000;
  pit1_init_struct.PIT_Isr = pit1_isr;
  LPLD_PIT_Init(pit1_init_struct);
  
  LPLD_PIT_EnableIrq(pit0_init_struct);
  LPLD_PIT_EnableIrq(pit1_init_struct);
  
  while(1)
  {
  } 
}
void init_PIT()
{
  pit0_init_struct.PIT_Pitx = PIT0;     //选择PIT0
  pit0_init_struct.PIT_PeriodUs = MY_SAMPLE_TIME;  //PIT0计数周期500ms
  pit0_init_struct.PIT_Isr = pitdacisr;
  //初始化PIT0
  LPLD_PIT_Init(pit0_init_struct); 
  LPLD_PIT_EnableIrq(pit0_init_struct);
}
//--------------------------------------------------------------------------------------------------------
void PIT_Init(void)
{
  pit_init_struct.PIT_Pitx = PIT0;
  pit_init_struct.PIT_PeriodMs = 1;      //定时周期1毫秒
  pit_init_struct.PIT_Isr = PIT_Signal;  //设置中断函数名

  LPLD_PIT_Init(pit_init_struct);
  LPLD_PIT_EnableIrq(pit_init_struct);
}
/*
 * 初始化PIT定时器
 *
 */
void pit_init(void)
{
  //配置定时周期中断参数
  pit_init_struct.PIT_Pitx = PIT0;
  pit_init_struct.PIT_PeriodMs = 20;    //20毫秒产生一起中断
  pit_init_struct.PIT_Isr = pit_isr;
  //初始化PIT
  LPLD_PIT_Init(pit_init_struct);
  //使能PIT定时中断
  LPLD_PIT_EnableIrq(pit_init_struct);
}
/*
 * 初始化PIT0和PIT1通道
 *
 */
void pit_init(void)
{
  //配置PIT0参数
  pit0_init_struct.PIT_Pitx = PIT0;
  pit0_init_struct.PIT_PeriodS = 2;     //定时周期2秒
  pit0_init_struct.PIT_Isr = pit0_isr;  //设置中断函数
  //初始化PIT0
  LPLD_PIT_Init(pit0_init_struct);  
    
  //配置PIT1参数
  pit1_init_struct.PIT_Pitx = PIT1;
  pit1_init_struct.PIT_PeriodMs = 1000; //定时周期1000毫秒
  pit1_init_struct.PIT_Isr = pit1_isr;  //设置中断函数
  //初始化PIT1
  LPLD_PIT_Init(pit1_init_struct);
  
  //使能PIT0和PIT1
  LPLD_PIT_EnableIrq(pit0_init_struct);
  LPLD_PIT_EnableIrq(pit1_init_struct);
}
Example #6
0
void pit_init()
{
    PIT_InitTypeDef pit0_init_struct={PIT0};
    
    pit0_init_struct.PIT_Pitx = PIT0;            //配置PIT0参数
    pit0_init_struct.PIT_PeriodMs = PIT0_MS;     //定时周期
    pit0_init_struct.PIT_Isr = pit0_isr;         //设置中断函数
    
    LPLD_PIT_Init(pit0_init_struct);             //初始化PIT0
    
    LPLD_PIT_EnableIrq(pit0_init_struct);        //使能PIT0
    
    PIT->CHANNEL[PIT1].LDVAL = 0xFFFFFFFF;       //用于测程序执行时间
    PIT->CHANNEL[PIT1].TCTRL |= PIT_TCTRL_TEN_MASK;
}