打印
[活动专区]

赛元易码魔盒体验——8测试拓展板的定时器3/4

[复制链接]
573|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
使用超级魔盒生成一个TIM3的工程,定时器没1ms产生一次中断,在定时器中断服务函数中添加一个计数器,计数到500ms让LED灯翻转。使用魔盒打开TIM3,同时也将LED的P2.4口配置为推挽输出,具体配置如下图


使用特权

评论回复

相关帖子

沙发
一路向北lm|  楼主 | 2020-7-15 09:44 | 只看该作者
生成代码,在SC_it.c文件中找到定时器3的中断服务函数,在中断服务函数内部添加如下代码:其中LED_TOGGLE是自己实现的一个宏,就是对LED的翻转操作。
void Timer3Interrupt()                interrupt 13
{
/*<UserCodeStart>*/
static unsigned int count = 0;
    TXINX = 0x03;   //选择定时器T3
          TFX = 0;        //溢出清零
        count++;
        if(count == 500)
        {
          count = 0;
          LED_TOGGLE;       
        }
/*<UserCodeEnd>*/
    /*Timer3_it write here*/               
}


使用特权

评论回复
板凳
一路向北lm|  楼主 | 2020-7-15 09:44 | 只看该作者
好了,编译运行,竟然没有闪烁,不知怎么回事,仔细查找原因,原来魔盒生成的工程有一部分代码有些问题,将其注释就OK啦!注释TIM3_WorkMode1Config函数中TLX和THX的赋值,这样LED正常翻转运行。此处也算是一个小Bug吧!

使用特权

评论回复
地板
一路向北lm|  楼主 | 2020-7-15 09:44 | 只看该作者
本帖最后由 一路向北lm 于 2020-7-15 09:48 编辑

下面也使用魔盒生成了TIM4的工程,同样的问题也是需要将TIM3_WorkMode1Config函数中TLX和THX的赋值注释即可。

使用特权

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

本版积分规则

273

主题

3745

帖子

74

粉丝