文档详情

定时器.docx

发布:2017-02-09约字共22页下载文档
文本预览下载声明
// //实验五:对TIM2编程,控制LED亮灭//#include stm32f10x.h ////unsigned char count; //void GPIO_Configuration(void)//{//// statement I/O structure//GPIO_InitTypeDefGPIO_InitStructure; ////RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能端口A的时钟////RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); //使能TIM2的时钟TIM2 是挂载在 APB1 之下,所以我们通过 APB1 总线下的使能使能函数来使能 TIM2////GPIO配置//GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8| GPIO_Pin_9| GPIO_Pin_10| GPIO_Pin_11; //选择PA0脚//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //GPIO_Init(GPIOA, GPIO_InitStructure); //应用//GPIO_SetBits(GPIOA ,GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11);//}////中断配置//void NVIC_Configuration(void)//{//NVIC_InitTypeDefNVIC_InitStructure;//NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);// NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; // NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; // NVIC_InitStructure.NVIC_IRQChannelSubPriority= 1; // NVIC_InitStructure.NVIC_IRQChannelCmd= ENABLE; // NVIC_Init(NVIC_InitStructure);//}////定时器配置//void TIMER2_Configuration(void)//{//TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;//TIM_InternalClockConfig(TIM2);//采用内部时钟给TIM2提供时钟源//TIM_TimeBaseStructure.TIM_Period= (2000-1); //设置在下一个更新事件装入活动的自动重装载寄存器周期的值// TIM_TimeBaseStructure.TIM_Prescaler=(36000-1); //设置用来作为TIMx时钟频率除数的预分频值////TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim//TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //TIM向上计数模//TIM_TimeBaseInit(TIM2,TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位//TIM_ClearITPendingBit(TIM2, TIM_IT_Update);//清除更新中断标志//TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE); //使能更新中断// TIM_Cmd(TIM2,ENABLE);//开启定时器计数//}//int main()//{//GPIO_Configuration();//NVIC_Configuration();// TIMER2_Configuration();// while(1)// {//;// }//}//实验五1 //TIM2中断服务函数配置////void TIM2_IRQHandler(void)//{// static unsigned count=0; //if(count==4)//count=0; // if( TIM_GetITSta
显示全部
相似文档