|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
国民技术N32G031使用经验3_定时器:
国民技术ARM系列芯片性价比高,使用方便,唯独官方例子太少,因此在这贴出常用部分代码,供初用者参考改进:
uint16_t PrescalerValue = 0;
TIM_TimeBaseInitType TIM_TimeBaseStructure;
extern uint8_t clock_m;
void TIM_INT_Config(void)
{
NVIC_InitType NVIC_InitStructure;
//RCC_EnableAPB1PeriphClk(RCC_APB1_PERIPH_TIM3 | RCC_APB1_PERIPH_TIM6, ENABLE);
//RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_TIM1 | RCC_APB2_PERIPH_TIM8, ENABLE);
/* TIM3 clock enable */
//RCC_EnableAPB1PeriphClk(RCC_APB1_PERIPH_TIM3 , ENABLE);
TIM_DeInit(TIM3);
/* TIM3 中断嵌套设计*/
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
/* 计算预分频值 */
PrescalerValue = clock_m-1;
/* Time 定时器基础设置 */
TIM_TimeBaseStructure.Period = 10000; //10ms 1us计1次
TIM_TimeBaseStructure.Prescaler = 0;
TIM_TimeBaseStructure.ClkDiv = 0;
TIM_TimeBaseStructure.CntMode = TIM_CNT_MODE_UP;
TIM_InitTimeBase(TIM3, &TIM_TimeBaseStructure);
/* 预分频器配置 */
TIM_ConfigPrescaler(TIM3, PrescalerValue, TIM_PSC_RELOAD_MODE_IMMEDIATE);
/* TIM 中断使能 */
TIM_ConfigInt(TIM3, TIM_INT_UPDATE, ENABLE);
/* TIM 使能 */
TIM_Enable(TIM3, ENABLE);
} |
|