打印
[STM32F0]

请教个问题;怎样打开STM32F030K6的定时器TIM3中断(寄存器操作方

[复制链接]
5632|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hopewise|  楼主 | 2014-11-22 16:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/***********************************
* 名称:     TIM3_Init()
* 功能:     TIM3初始化子程序
* 入口参数: 无
* 出口参数: 无
* 说明:                                            
************************************/
void TIM3_Init()
{
         RCC->APB1ENR|=1<<1;        //TIM3时钟使能  
         TIM3->ARR=11719;       //定时500ms   
         TIM3->PSC=10;             //11分频(10+1)  
         TIM3->DIER|=1<<0;      //允许更新中断  
         TIM3->CR1|=0x01;         //使能定时器3
         NVIC->ISER[0]=1<<16;           
}
请问:进不了STM32F030K6的TIM3定时中断,是哪里出了问题?


沙发
mmuuss586| | 2014-11-22 20:32 | 只看该作者
中断向量啥的都没有啊,太简单了吧;

先用库函数,先调通吧;
再改成寄存器的;

使用特权

评论回复
板凳
jxmzzr| | 2014-11-24 11:03 | 只看该作者
建议楼主看看库函数是怎么实现的,然后照着改一下。

使用特权

评论回复
地板
hopewise|  楼主 | 2014-11-24 11:44 | 只看该作者
多谢2位,看规格书终于搞定了,是少写TIM3->DIER|=1<<6;  //触发中断允许

使用特权

评论回复
5
hopewise|  楼主 | 2014-11-24 11:47 | 只看该作者
为了给后来初学,现总结如下:
/***********************************
* 名称:     TIM3_Init()
* 功能:     TIM3初始化子程序
* 入口参数: 无
* 出口参数: 无
* 说明:     Tout=ARR*(PSC+1)/Tclk→ARR=Tout*Tclk/(PSC+1)
            Tout=TIM3溢出时间(单位是us)
            ARR-自动重装值(TIM3->ARR)
            PSC--时钟预分频系数
            Tclk--TIM3的输入时钟频率(单位是HZ)
注意:TIM3->ARR是16位的,范围不可超过65535
************************************/
void TIM3_Init()
{
            RCC->APB1ENR|=1<<1;                       //TIM3时钟使能(一定在这里设置)  
            TIM3->ARR=24000;                         //定时500us   
            TIM3->PSC=0;                         //1分频(0+1)  
            TIM3->DIER|=1<<0;                  //允许更新中断  
            TIM3->DIER|=1<<6;                  //触发中断允许
            TIM3->CR1|=0x01;                   //使能定时器3       
            NVIC->ISER[0]|=1<<16;
}       

使用特权

评论回复
6
hopewise|  楼主 | 2014-11-24 11:52 | 只看该作者
补充一下:HCLK=PCLK=48MHZ

使用特权

评论回复
7
zhzzh18| | 2015-5-8 14:40 | 只看该作者
学习中

使用特权

评论回复
8
syw467643| | 2015-7-17 14:13 | 只看该作者
我们是正规代理商  有比较强大的FAE 团队  STM32F030K6T6问题可以联系我  QQ1450203232  电话18665827861

使用特权

评论回复
9
renxiaolin| | 2016-12-14 17:23 | 只看该作者
hopewise 发表于 2014-11-24 11:52
补充一下:HCLK=PCLK=48MHZ

按你的设置,500us没问题,但要1us中断,ARR设置48,但是用示波器看是2us中断一次,只要你设置比48更小的数,一直是2us,你知道什么原因不

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

468

帖子

3

粉丝