[技术文章] 国民技术N32G031使用经验3_定时器

[复制链接]
查看1172 | 回复19 | 2022-10-13 11:55:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
国民技术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);
}
回复

使用道具 举报

cctv1 | 2022-10-13 16:26:23 | 显示全部楼层
回复

使用道具 举报

tian_000 | 2022-10-13 16:30:45 | 显示全部楼层
回复

使用道具 举报

mj8abcd | 2022-10-13 17:00:48 | 显示全部楼层
回复

使用道具 举报

luchonghui74 | 2022-10-13 20:11:13 | 显示全部楼层
回复

使用道具 举报

罗塘阮经天 | 2022-10-13 22:24:47 | 显示全部楼层
回复

使用道具 举报

闪耀的空白 | 2022-10-14 08:22:27 | 显示全部楼层
回复

使用道具 举报

zhang_tao_08 | 2022-10-14 08:23:04 | 显示全部楼层
回复

使用道具 举报

13131 | 2022-10-14 09:05:09 | 显示全部楼层
回复

使用道具 举报

maogege-chen | 2022-10-14 09:12:53 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

3

主题

0

回帖

0

积分

一级逆天

积分
0

终身成就奖