当前位置: 首页 > news >正文

广州市酒店网站设计广告推广平台网站

广州市酒店网站设计,广告推广平台网站,旅游最新政策,公司文化建设文章目录 TIM定时器Ⅰ、TIM定时器函数Ⅱ、TIM_TimeBaseInitTypeDef结构体参数①、TIM_ClockDivision②、TIM_CounterMode③、TIM_Period④、TIM_Prescaler⑤、TIM_RepetitionCounter Ⅱ、定时器配置Ⅲ、定时器外部中断NVIC配置 TIM定时器 Ⅰ、TIM定时器函数 // 将定时器寄存器… 文章目录 TIM定时器Ⅰ、TIM定时器函数Ⅱ、TIM_TimeBaseInitTypeDef结构体参数①、TIM_ClockDivision②、TIM_CounterMode③、TIM_Period④、TIM_Prescaler⑤、TIM_RepetitionCounter Ⅱ、定时器配置Ⅲ、定时器外部中断NVIC配置 TIM定时器 Ⅰ、TIM定时器函数 // 将定时器寄存器重置到默认值 void TIM_DeInit(TIM_TypeDef* TIMx);// 初始化定时器的基本时间基准参数 void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);// 初始化定时器的输出比较通道1 void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); // 初始化定时器的输出比较通道2 void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); // 初始化定时器的输出比较通道3 void TIM_OC3Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); // 初始化定时器的输出比较通道4 void TIM_OC4Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);// 初始化定时器的输入捕获参数 void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);// 配置PWM输入模式 void TIM_PWMIConfig(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);// 配置定时器的BDTR寄存器用于高级定时器功能 void TIM_BDTRConfig(TIM_TypeDef* TIMx, TIM_BDTRInitTypeDef *TIM_BDTRInitStruct);// 初始化基本时间基准结构体 void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);// 初始化输出比较结构体 void TIM_OCStructInit(TIM_OCInitTypeDef* TIM_OCInitStruct); // 初始化输入捕获结构体 void TIM_ICStructInit(TIM_ICInitTypeDef* TIM_ICInitStruct);// 初始化BDTR结构体 void TIM_BDTRStructInit(TIM_BDTRInitTypeDef* TIM_BDTRInitStruct);// 使能或禁用定时器 void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState);// 控制PWM输出 void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalState NewState);// 配置定时器中断 void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState);// 产生一个定时器事件 void TIM_GenerateEvent(TIM_TypeDef* TIMx, uint16_t TIM_EventSource);// 配置DMA源和突发长度 void TIM_DMAConfig(TIM_TypeDef* TIMx, uint16_t TIM_DMABase, uint16_t TIM_DMABurstLength);// 使能或禁用DMA请求 void TIM_DMACmd(TIM_TypeDef* TIMx, uint16_t TIM_DMASource, FunctionalState NewState);// 配置定时器的内部时钟模式 void TIM_InternalClockConfig(TIM_TypeDef* TIMx); // 配置定时器的外部时钟模式1 void TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource); // 配置定时器的TIx外部时钟模式 void TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_TIxExternalCLKSource,uint16_t TIM_ICPolarity, uint16_t ICFilter); // 配置定时器的外部触发ETR模式1 void TIM_ETRClockMode1Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity,uint16_t ExtTRGFilter); // 配置定时器的外部触发ETR模式2 void TIM_ETRClockMode2Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter); // 配置定时器的外部触发ETR void TIM_ETRConfig(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity,uint16_t ExtTRGFilter);// 配置定时器的预分频器 void TIM_PrescalerConfig(TIM_TypeDef* TIMx, uint16_t Prescaler, uint16_t TIM_PSCReloadMode);// 配置定时器的计数模式 void TIM_CounterModeConfig(TIM_TypeDef* TIMx, uint16_t TIM_CounterMode);// 选择输入触发源 void TIM_SelectInputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource);// 配置编码器接口 void TIM_EncoderInterfaceConfig(TIM_TypeDef* TIMx, uint16_t TIM_EncoderMode,uint16_t TIM_IC1Polarity, uint16_t TIM_IC2Polarity);// 配置强制输出比较1 void TIM_ForcedOC1Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); // 配置强制输出比较2 void TIM_ForcedOC2Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); // 配置强制输出比较3 void TIM_ForcedOC3Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); // 配置强制输出比较4 void TIM_ForcedOC4Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction);// 配置ARR预装载 void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalState NewState);// 选择COM比较输出模式功能 void TIM_SelectCOM(TIM_TypeDef* TIMx, FunctionalState NewState);// 选择CCDMA捕获/比较DMA请求功能 void TIM_SelectCCDMA(TIM_TypeDef* TIMx, FunctionalState NewState);// 控制CC通道的预装载寄存器 void TIM_CCPreloadControl(TIM_TypeDef* TIMx, FunctionalState NewState);// 配置输出比较1的预装载 void TIM_OC1PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); // 配置输出比较2的预装载 void TIM_OC2PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); // 配置输出比较3的预装载 void TIM_OC3PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); // 配置输出比较4的预装载 void TIM_OC4PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload);// 配置输出比较1的快速模式 void TIM_OC1FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); // 配置输出比较2的快速模式 void TIM_OC2FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); // 配置输出比较3的快速模式 void TIM_OC3FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); // 配置输出比较4的快速模式 void TIM_OC4FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast);// 清除输出比较1的引用 void TIM_ClearOC1Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); // 清除输出比较2的引用 void TIM_ClearOC2Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); // 清除输出比较3的引用 void TIM_ClearOC3Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); // 清除输出比较4的引用 void TIM_ClearOC4Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear);// 配置输出比较1的极性 void TIM_OC1PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); // 配置输出比较1N的极性 void TIM_OC1NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity); // 配置输出比较2的极性 void TIM_OC2PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); // 配置输出比较2N的极性 void TIM_OC2NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity); // 配置输出比较3的极性 void TIM_OC3PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); // 配置输出比较3N的极性 void TIM_OC3NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity); // 配置输出比较4的极性 void TIM_OC4PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity);// 使能或禁用捕获/比较通道x void TIM_CCxCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCx);// 使能或禁用互补输出通道xN void TIM_CCxNCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCxN);// 选择输出比较x模式 void TIM_SelectOCxM(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_OCMode);// 禁用更新事件 void TIM_UpdateDisableConfig(TIM_TypeDef* TIMx, FunctionalState NewState);// 配置更新请求源 void TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, uint16_t TIM_UpdateSource);// 选择霍尔传感器接口 void TIM_SelectHallSensor(TIM_TypeDef* TIMx, FunctionalState NewState);// 选择单脉冲模式 void TIM_SelectOnePulseMode(TIM_TypeDef* TIMx, uint16_t TIM_OPMode);// 选择定时器的输出触发源 void TIM_SelectOutputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_TRGOSource);// 选择定时器的从模式 void TIM_SelectSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_SlaveMode); // 选择定时器的主从模式 void TIM_SelectMasterSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_MasterSlaveMode);// 设置定时器的计数值 void TIM_SetCounter(TIM_TypeDef* TIMx, uint16_t Counter);// 设置定时器的自动重装载寄存器的值这个值决定了计数器的最大值 void TIM_SetAutoreload(TIM_TypeDef* TIMx, uint16_t Autoreload);// 设置定时器的比较寄存器1的值用于输出比较模式 void TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1); // 设置定时器的比较寄存器2的值 void TIM_SetCompare2(TIM_TypeDef* TIMx, uint16_t Compare2); // 设置定时器的比较寄存器3的值 void TIM_SetCompare3(TIM_TypeDef* TIMx, uint16_t Compare3); // 设置定时器的比较寄存器4的值 void TIM_SetCompare4(TIM_TypeDef* TIMx, uint16_t Compare4);// 设置输入捕获通道1的预分频器 void TIM_SetIC1Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC); // 设置输入捕获通道2的预分频器 void TIM_SetIC2Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC); // 设置输入捕获通道3的预分频器 void TIM_SetIC3Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC); // 设置输入捕获通道4的预分频器 void TIM_SetIC4Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC);// 设置定时器的时钟分割 void TIM_SetClockDivision(TIM_TypeDef* TIMx, uint16_t TIM_CKD);// 获取输入捕获通道1的捕获值 uint16_t TIM_GetCapture1(TIM_TypeDef* TIMx); // 获取输入捕获通道2的捕获值 uint16_t TIM_GetCapture2(TIM_TypeDef* TIMx); // 获取输入捕获通道3的捕获值 uint16_t TIM_GetCapture3(TIM_TypeDef* TIMx); // 获取输入捕获通道4的捕获值 uint16_t TIM_GetCapture4(TIM_TypeDef* TIMx);// 获取定时器的计数值 uint16_t TIM_GetCounter(TIM_TypeDef* TIMx);// 获取定时器的预分频器的值 uint16_t TIM_GetPrescaler(TIM_TypeDef* TIMx);// 获取定时器标志的状态 FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, uint16_t TIM_FLAG); // 清除定时器的特定标志 void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG);// 获取定时器中断的状态 ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t TIM_IT); // 清除定时器的中断待处理位 void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT);Ⅱ、TIM_TimeBaseInitTypeDef结构体参数 ①、TIM_ClockDivision 配置定时器时钟分配系数 该参数可以是ref TIM_Clock_Division_CKD 宏定义解释 TIM_CKD_DIV1 描述1分频不分频。这意味着定时器的时钟频率与输入时钟频率相同 TIM_CKD_DIV2 描述2分频。这意味着定时器的时钟频率是输入时钟频率的1/2 TIM_CKD_DIV4 描述4分频。这意味着定时器的时钟频率是输入时钟频率的1/4 宏函数 IS_TIM_CKD_DIV(DIV) 描述检查给定的时钟分频设置是否有效参数DIV代表定时器的时钟分频设置功能检查DIV是否等于TIM_CKD_DIV1、TIM_CKD_DIV2或TIM_CKD_DIV4中的任一个返回值如果DIV有效返回1真否则返回0假 表格 宏定义值描述TIM_CKD_DIV10x00001分频TIM_CKD_DIV20x01002分频TIM_CKD_DIV40x02004分频 宏函数描述IS_TIM_CKD_DIV(DIV)检查DIV是否为有效的定时器时钟分频设置 ②、TIM_CounterMode 计数器模式 该参数可以是ref TIM_Counter_Mode 枚举类型定义 typedef enum {TIM_CounterMode_Up 0x0000, /*! 向上计数模式 */TIM_CounterMode_Down 0x0010, /*! 向下计数模式 */TIM_CounterMode_CenterAligned1 0x0020, /*! 中心对齐模式1 */TIM_CounterMode_CenterAligned2 0x0040, /*! 中心对齐模式2 */TIM_CounterMode_CenterAligned3 0x0060 /*! 中心对齐模式3 */ } TIMCounterMode_TypeDef;TIM_CounterMode_Up值为 0x0000表示定时器向上计数 从0开始计数直到自动重装载寄存器ARR的值 TIM_CounterMode_Down值为 0x0010表示定时器向下计数 从自动重装载寄存器ARR的值开始计数直到0 TIM_CounterMode_CenterAligned1值为 0x0020表示中心对齐模式1 计数器在向上计数和向下计数时都会在中间重置 TIM_CounterMode_CenterAligned2值为 0x0040表示中心对齐模式2 计数器在向上计数时在中间重置向下计数时在最大值重置 TIM_CounterMode_CenterAligned3值为 0x0060表示中心对齐模式3 计数器在向上计数时在最大值重置向下计数时在中间重置 宏函数 #define IS_TIM_COUNTER_MODE(MODE) (((MODE) TIM_CounterMode_Up) || \((MODE) TIM_CounterMode_Down) || \((MODE) TIM_CounterMode_CenterAligned1) || \((MODE) TIM_CounterMode_CenterAligned2) || \((MODE) TIM_CounterMode_CenterAligned3))描述检查给定的计数模式是否有效参数MODE代表定时器的计数模式功能检查MODE是否等于预定义的计数模式中的任一个返回值如果MODE有效返回1真否则返回0假 表格 计数模式常量值描述TIM_CounterMode_Up0x0000向上计数从0开始计数直到自动重装载寄存器ARR的值TIM_CounterMode_Down0x0010向下计数从自动重装载寄存器ARR的值开始计数直到0TIM_CounterMode_CenterAligned10x0020中心对齐模式1计数器在向上计数和向下计数时都会在中间重置TIM_CounterMode_CenterAligned20x0040中心对齐模式2计数器在向上计数时在中间重置向下计数时在最大值重置TIM_CounterMode_CenterAligned30x0060中心对齐模式3计数器在向上计数时在最大值重置向下计数时在中间重置 ③、TIM_Period 自动重装载寄存器的值 功能指定要加载到定时器的*自动重载寄存器ARR*中的周期值。该值在下一个更新事件时被加载取值范围0x0000到0xFFFF即0到65535作用这个周期值决定了定时器的溢出时间。定时器每计数到这个值时会触发一次更新事件并重新从0开始计数 示例 假设使用一个定时器其时钟频率为72MHz定时器每1秒钟触发一次中断。可以这样配置TIM_Period 计算定时器的时钟频率 假设定时器的时钟频率为72MHz你使用了一个预分频器Prescaler其值为7200。这意味着定时器的计数频率为72MHz / 7200 10kHz 计算周期值 你希望定时器每1秒钟触发一次中断因此周期值TIM_Period应该为10kHz * 1s 10000 配置定时器 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;// 定时器时钟频率为72MHz预分频器为7200 TIM_TimeBaseStructure.TIM_Prescaler 7200 - 1; // 预分频器值为7199 TIM_TimeBaseStructure.TIM_Period 10000 - 1; // 周期值为9999 TIM_TimeBaseStructure.TIM_ClockDivision 0; // 时钟分频因子为0 TIM_TimeBaseStructure.TIM_CounterMode TIM_CounterMode_Up; // 向上计数模式// 选择定时器例如TIM2 TIM_TimeBaseInit(TIM2, TIM_TimeBaseStructure);// 使能定时器 TIM_Cmd(TIM2, ENABLE);④、TIM_Prescaler 预分频器的值 功能指定用于分频定时器时钟的预分频器值取值范围0x0000到0xFFFF即0到65535作用预分频器值为PSC时定时器的计数频率为定时器时钟频率 / (PSC 1)。这意味着预分频器值为0时计数频率等于定时器的时钟频率预分频器值为65535时计数频率为定时器时钟频率 / 65536 ⑤、TIM_RepetitionCounter 重复计数器的值 若不使用直接将值取 0 即可 功能指定重复计数器的值。每次重复计数器RCR的下计数器达到0时会生成一个更新事件并从RCR的值N重新开始计数取值范围0x00到0xFF即0到255作用 在边缘对齐模式下N1表示PWM周期的重复次数在中心对齐模式下N1表示半PWM周期的重复次数 适用范围此参数仅适用于TIM1和TIM8定时器 Ⅱ、定时器配置 #include stm32f10x.h // Device headervoid Timer_Init(void) { RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);//使能时钟TIM_InternalClockConfig(TIM2);// 配置定时器的内部时钟模式TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;TIM_TimeBaseInitStruct.TIM_ClockDivision TIM_CKD_DIV1;//设置定时器时钟分频1分频TIM_TimeBaseInitStruct.TIM_CounterMode TIM_CounterMode_Up;//计数模式向上计数TIM_TimeBaseInitStruct.TIM_Period 10000 - 1;//自动重装载寄存器的值TIM_TimeBaseInitStruct.TIM_Prescaler 7200 - 1;//预分频器的值TIM_TimeBaseInitStruct.TIM_RepetitionCounter 0;TIM_TimeBaseInit(TIM2, TIM_TimeBaseInitStruct);TIM_ClearFlag(TIM2, TIM_FLAG_Update);//清除定时器的更新中断标志位TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);//配置定时器中断更新中断//设置NVICNVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//配置嵌套向量中断控制器NVIC的优先级分组NVIC_InitTypeDef NVIC_InitStruct;NVIC_InitStruct.NVIC_IRQChannel TIM2_IRQn;//选择IRQ通道NVIC_InitStruct.NVIC_IRQChannelCmd ENABLE;//启用这个IRQ通道NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority 2;//设置抢占优先级为1NVIC_InitStruct.NVIC_IRQChannelSubPriority 1;//设置响应优先级为1NVIC_Init(NVIC_InitStruct);TIM_Cmd(TIM2, ENABLE);//启用定时器 } /* //定时中断函数 void TIM2_IRQHandler(void) {if(TIM_GetITStatus(TIM2, TIM_IT_Update) SET)//获取定时器中断的状态{//用户代码TIM_ClearITPendingBit(TIM2, TIM_IT_Update);//清除定时器的中断标志位} } */ Ⅲ、定时器外部中断 #include stm32f10x.h // Device headervoid Timer_Init(void) { RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);//使能外部时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//配置GPIOGPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Mode GPIO_Mode_IN_FLOATING;GPIO_InitStruct.GPIO_Pin GPIO_Pin_0;GPIO_InitStruct.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(GPIOB, GPIO_InitStruct);TIM_ETRClockMode2Config(TIM2, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0x0F);// 配置定时器的内部时钟模式TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;TIM_TimeBaseInitStruct.TIM_ClockDivision TIM_CKD_DIV1;//设置定时器时钟分频1分频TIM_TimeBaseInitStruct.TIM_CounterMode TIM_CounterMode_Up;//计数模式向上计数TIM_TimeBaseInitStruct.TIM_Period 11 - 1;//自动重装载寄存器的值TIM_TimeBaseInitStruct.TIM_Prescaler 1 - 1;//预分频器的值TIM_TimeBaseInitStruct.TIM_RepetitionCounter 0;TIM_TimeBaseInit(TIM2, TIM_TimeBaseInitStruct);TIM_ClearFlag(TIM2, TIM_FLAG_Update);//清除定时器的更新中断标志位TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);//配置定时器中断更新中断//设置NVICNVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//配置嵌套向量中断控制器NVIC的优先级分组NVIC_InitTypeDef NVIC_InitStruct;NVIC_InitStruct.NVIC_IRQChannel TIM2_IRQn;//选择IRQ通道NVIC_InitStruct.NVIC_IRQChannelCmd ENABLE;//启用这个IRQ通道NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority 2;//设置抢占优先级为1NVIC_InitStruct.NVIC_IRQChannelSubPriority 1;//设置响应优先级为1NVIC_Init(NVIC_InitStruct);TIM_Cmd(TIM2, ENABLE);//启用定时器 }uint16_t Timer_GetCount(void) {return TIM_GetCounter(TIM2); }定时中断函数 //void TIM2_IRQHandler(void) //{ // if(TIM_GetITStatus(TIM2, TIM_IT_Update) SET)//获取定时器中断的状态 // { // //用户代码 // TIM_ClearITPendingBit(TIM2, TIM_IT_Update);//清除定时器的中断标志位 // } //} NVIC配置 //设置NVICNVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//配置嵌套向量中断控制器NVIC的优先级分组NVIC_InitTypeDef NVIC_InitStruct;NVIC_InitStruct.NVIC_IRQChannel TIM2_IRQn;//选择IRQ通道NVIC_InitStruct.NVIC_IRQChannelCmd ENABLE;//启用这个IRQ通道NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority 2;//设置抢占优先级为1NVIC_InitStruct.NVIC_IRQChannelSubPriority 1;//设置响应优先级为1NVIC_Init(NVIC_InitStruct);
http://www.w-s-a.com/news/898900/

相关文章:

  • 交通局网站建设方案答辩ppt模板免费下载 素材
  • 个人摄影网站推介网手机版
  • 有哪些免费的视频网站网站开发和竞价
  • 学校网站如何做广州商城型网站建设
  • 微网站建设哪家便宜易优建站系统
  • 推荐做木工的视频网站毕业设计做的网站抄袭
  • 网站导航页面制作wordpress调用文章阅读量
  • app小程序网站开发品牌购物网站十大排名
  • 用wordpress做购物网站龙岩品牌设计
  • 网站开发是指wordpress系统在线升级
  • 网站建设运营的灵魂是什么意思页面跳转中
  • 家政服务网站源码重庆建网站企业有哪些
  • 怎样分析一个网站做的好坏重庆长寿网站设计公司哪家专业
  • 百度助手app下载苏州seo关键词优化排名
  • 17网站一起做 佛山诸城网站建设多少钱
  • 郑州网站建设培训学校泉州做网站设计公司
  • 西峡做网站深圳建筑工务署官网
  • 单县网站惠州seo计费
  • 万网网站建设 优帮云怎样用记事本做网站
  • 注册域名后网站建设百度指数的功能
  • 怎么做伪静态网站山西网站建设设计
  • 做小型企业网站多少钱衡阳市建设局网站
  • 金华专业网站建设公司网站建设空间和服务器方式
  • 自己做的网站在浏览器上显示不安全吗wordpress revolution slider
  • 西安网站建设推广优化搜索引擎营销
  • 互联网站备案管理工作方案 工信部注册深圳公司需要什么条件
  • 网站网站服务器网站建设 物流
  • 国外开发网站手机网站建设制作
  • 怎么把自己做的网站传网上青岛工程建设监理公司网站
  • 网站301跳转效果商丘网站公司