打印
[应用相关]

STM8LTIM3定时器问题

[复制链接]
726|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Thorald|  楼主 | 2017-1-29 19:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定时100ms让LED_Er亮起来,然而并没有实现功能。请各位大侠帮看看是哪里设置不对。
#include<stm8l052c6.h>

#define LED_HB 0x01 << 1
#define LED_Er 0x01 << 0

void IO_Init(void)
{
    PD_ODR=0x00;    //刚开始LED全灭
    PD_DDR=0xff;     //输出模式
    PD_CR1=0xff;     //推挽输出
    PD_CR2=0x00;    //低速输出
}
void TIM3_Init(void)
{
   TIM3_PSCR=0x03;   //分频值2MHZ/(2^3)=250KHZ
   TIM3_IER=0x01;     //open timer interrupt
   TIM3_ARR=250;     //自动重载值,1/250Kx200=1ms
   TIM3_CNTR=250;   //计数器初始值200
}
void main(void)
{
    IO_Init();
    TIM3_Init();
    _asm("rim");
    TIM3_CR1|=0x01;      //Start time
    while(1)
    {
        PD_ODR^=LED_HB;
    }
}

@far @interrupt void TIM3_IRQ(void)
{
    unsigned int count = 0;
    count++;
    TIM3_SR1=0x00;
    if(count==100)         //计时100次则100ms时间到
    {
        PD_ODR^=LED_Er;
        count=0;
    }
}
沙发
Bjorn| | 2017-1-29 20:00 | 只看该作者
外设时钟没打开吧

使用特权

评论回复
板凳
Rollo| | 2017-1-29 20:09 | 只看该作者
有控制外设的时钟寄存器,对应位为1的话打开对应外设的时钟,不打开的话,外设是不能工作的

使用特权

评论回复
地板
Rangar| | 2017-1-29 20:19 | 只看该作者
数据书中找这几个寄存奇CLK_PCKENR1,CLK_PCKENR2,CLK_PCKENR3.对应位为1就行了

使用特权

评论回复
5
Stannis| | 2017-1-29 20:30 | 只看该作者
要打开相关gpio的总线时钟,和tim3的总线时钟吧

使用特权

评论回复
6
robter| | 2017-1-29 21:11 | 只看该作者
很好很好,学习学习

使用特权

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

本版积分规则

183

主题

849

帖子

1

粉丝