//TIM3 分频
#define TIM3_DIV1 (1-1)
#define TIM3_DIV18 (18-1)
#define TIM3_DIV72 (72-1) //*************************************
// 函数名:TIM3_NVIC_Configuration
// 描述 :TIM3中断优先级配置
// 输入 :无
// 输出 :无 //*************************************
void TIM3_NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //选择中断通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //抢占式优先级别值
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //响应式中断优先级别值
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //中断使能值
NVIC_Init(&NVIC_InitStructure); //根据上述值初始化中断级别
}
//*************************************
// 函数名称:TIM3_BASEInit
// 函数功能:初始化TIM3 为定时模式
// 入口参数:计数个数 分频数
// 出口参数:无
// 返回值 :无
//***************************************
void TIM3_BASEInit(uint16_t Tcon,uint16_t psc)
{ RCC->APB1ENR |= 1<<1; //定时器3时钟使能
TIM3->CR1 |= 1<<7 ; //设置自动重装载允许
TIM3->CR1 &= ~(1<<4) ; //设置向上计数
TIM3->ARR = Tcon ; //定时器计数次数
TIM3->PSC = psc ; //设置分频数
TIM3->SR &= ~0x0001; //清除溢出标志
// TIM3->DIER |= 1<<6 ; //允许触发中断
// TIM3->EGR |= 0X0001 ; //允许产生更新事件
TIM3->DIER |= 0X0001 ; //允许更新中断
TIM3->CR1 |= 0X0001 ; //允许计数 }
//===系统库操作初始化TIM3=====
void TIM3_BASEInitSys(int16_t Tcon,uint16_t psc)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
TIM_DeInit(TIM3); //复位定时器
TIM_TimeBaseStructure.TIM_Period = Tcon; //定时器重装载值
TIM_TimeBaseStructure.TIM_Prescaler = psc ; //时钟预分频
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; // 时钟分频
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数模式
TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure); //初始化定时器的值 TIM_ClearFlag(TIM3,TIM_FLAG_Update); //清除定时器中断标志
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE); //使能中断
TIM_Cmd(TIM3,ENABLE); //开启时钟 } //---实例应用----
//用寄存器操作
TIM3_BASEInit(125,TIM3_DIV72) ; //72M/72 = 1M 125u中断一次 //用系统库操作
// TIM3_BASEInitSys(125,TIM3_DIV72) ; //72M/72 = 1M 125u中断一次

STM32F103 TIM3定时器初始化程序的更多相关文章

  1. 松瀚SN8P2501 定时器初始化程序--汇编源码

    /* 松瀚 SN8P2501B 定时器初始化程序 */ INI_IRQ: ;定时器T0初始化 MOV A, #01100000b ;定时器模式Fcpu/4 16M/4/4=1M 1U计一次 B0MOV ...

  2. Linux0.11内核剖析--初始化程序(init)

    1.概述 在内核源代码的 init/目录中只有一个 main.c 文件. 系统在执行完 boot/目录中的 head.s 程序后就会将执行权交给 main.c.该程序虽然不长,但却包括了内核初始化的所 ...

  3. 松瀚SN8P2711 2722 ADC初始化程序及应用--汇编源码

    /* 松瀚 SN8P2711 2722 ADC初始化程序 及应用实例 */ INIT_ADC: MOV A, #0XB2 // 启动ADC电路 使能AIN通道 B0MOV ADM, A MOV A,# ...

  4. ARM裸板开发:04_MMU 链接地址与运行地址不一致时,(SDRAM)初始化程序地址无关码问题的分析

    ARM裸板开发过程,程序的链接地址设置为为0x30000000,而前期的启动代码以及相关硬件的初始化代码需要在内部iRAM(steppingstone,起始地址0x0)的4K中运行.链接地址与运行地址 ...

  5. 浏览器默认标签样式总结及css初始化程序(转)

    浏览器默认标签样式总结及css初始化程序   html中的大部分的标签都有一些糟糕的样式,有的是标签天然自带的,有的是浏览器默认设置的,我们在写网页时,这些默认的样式就会时不时的跳出来捣一下乱,搞得我 ...

  6. 浏览器默认标签样式总结及css初始化程序

    html中的大部分的标签都有一些糟糕的样式,有的是标签天然自带的,有的是浏览器默认设置的,我们在写网页时,这些默认的样式就会时不时的跳出来捣一下乱,搞得我们很是无奈.所以成手在写css样式时,一般都会 ...

  7. TCP定时器 之 重传/延迟ACK/保活 定时器初始化

    创建socket时会创建传输控制块,之后调用初始化函数对控制块进行初始化,其中包括对定时器的初始化,tcp会调用tcp_init_xmit_timers函数来初始化这些定时器,本文将详细分析tcp_i ...

  8. STM32F103之定时器学习记录

    /==============翻译STM32F103开发手册定时器部分========================/ 14 高级控制计时器(TIM1和TIM8) 14.1 TIM1和TIM8介绍 ...

  9. 【单片机】CH32V103C8T6定时器3程序实验

    代码功能:每隔1毫秒进入一次定时器中断. 每隔1秒串口打印一次数据. time.c #include "time.h" #include "ch32v10x.h" ...

随机推荐

  1. spring的普通类中获取session和request对像

    在使用spring时,经常需要在普通类中获取session,request等对像. 1.第一钟方式,针对Spring和Struts2集成的项目: 在有使用struts2时,因为struts2有一个接口 ...

  2. 【linux kernel】 中断处理-中断下半部【转】

    转自:http://www.cnblogs.com/embedded-tzp/p/4453987.html 欢迎转载,转载时需保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地 ...

  3. usb的一些网址

    一些关于usb的帖子.网址: usb gadget device g_ether.ko 做成usbnetwork http://bbs.csdn.net/topics/370120345 Linux ...

  4. 设置adb server的端口号

    在操作系统的系统环境里面,加一个环境变量: ANDROID_ADB_SERVER_PORT,值为9999,看自己喜欢.

  5. vue项目里的日期格式化

    在项目中,我们经常需要把后台传回的日期进行格式化,可以在common里定义一个公共的js export function formatDate (date, fmt) { if (/(y+)/.tes ...

  6. 文件时间戳修改touch和查看stat和ls --time

    查看文件时间戳命令:stat awk.txtFile: `awk.txt'Size: 20  Blocks: 8  IO Block: 4096  regular fileDevice: 801h/2 ...

  7. Android应用--QR的生成(二维码)

    二维码的定义: 二维码(2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的. 在许多种类的二维条码中,常用的码制 ...

  8. tidb 升级步骤

    1.检查ansible版本,正常情况下,2.1 rc3需要兼容ansible 2.5以上的版本 $ ansible --version 2.检查python两个模块jinja2需要升级到2.9.6或以 ...

  9. 记2013年度成都MVP社区巡讲

    上个周六在天府软件园A区的翼起来咖啡举行了MVP社区巡讲成都站的活动,这个巡讲活动去年也搞过一次. MVP社区巡讲是 @微软中国MVP项目组 支持的,由各地的MVP担任讲师,给本地技术社区提供的一种社 ...

  10. 024 关于spark中日志分析案例

    1.四个需求 需求一:求contentsize的平均值.最小值.最大值 需求二:请各个不同返回值的出现的数据 ===> wordCount程序 需求三:获取访问次数超过N次的IP地址 需求四:获 ...