打印
[技术问答]

[MS51FB9AE]求助一个定时器0问题

[复制链接]
648|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pocker5200|  楼主 | 2022-4-7 02:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pocker5200 于 2022-4-7 03:11 编辑

芯片MS51FB9AE,板子NuTiny V2.1
功能定时器0做一个1ms定时器,使用内部校准的HIRC_166
代码刚开始是正常的,后来调试时发现程序跑得很慢,
用逻辑分析仪看定时器0的IO反转频率只有10.5Hz左右,慢了近100倍,
不知道哪里出了问题。试了一下1.004固件库的Timer0_mode_1_Interrupt例程,定时器IO输出频率也不对,大概慢了1.5倍。
代码都是扒的参考代码,如下

#define HSE_FREQ        16600000UL//外部时钟频率
#define TIMER0_DIV12_VALUE_1ms_HSE_FREQ        65536-HSE_FREQ/12/1000

void Timer0_1ms_init(void)
{
        TIMER0_MODE1_ENABLE;//16bit mode
        TIMER0_FSYS_DIV12;
        TH0 = HIBYTE(TIMER0_DIV12_VALUE_1ms_HSE_FREQ);
        TL0 = LOBYTE(TIMER0_DIV12_VALUE_1ms_HSE_FREQ);
        ENABLE_TIMER0_INTERRUPT;//使能timer0中断
        set_TCON_TR0;//Timer0 run
}
void Timer0_ISR (void) interrupt 1          //
{   
        //_push_(SFRS);
    local_1ms++;
        P04 = ~P04;
        //_pop_(SFRS);
}
void main (void)
{
    MODIFY_HIRC(HIRC_166);
    //WDT_init();//看门狗1.638s初始化
        Timer0_1ms_init();//1ms定时器初始化
        set_EA;//使能全局中断
}

使用特权

评论回复
沙发
redone| | 2022-4-14 10:36 | 只看该作者
整体都慢的话,是不是晶振虚了

使用特权

评论回复
板凳
sadicy| | 2022-4-15 15:04 | 只看该作者
时钟有问题

使用特权

评论回复
地板
antusheng| | 2022-4-18 19:11 | 只看该作者
是不是时钟或者晶振没有配置好。

使用特权

评论回复
5
pocker5200|  楼主 | 2022-4-29 01:16 | 只看该作者
代码里面有定时器重配置,错开就行了.

使用特权

评论回复
6
tpgf| | 2022-5-2 09:33 | 只看该作者
使用的是外部晶振吗

使用特权

评论回复
7
keaibukelian| | 2022-5-2 09:37 | 只看该作者
晶振虚接不会导致变慢的

使用特权

评论回复
8
labasi| | 2022-5-2 09:44 | 只看该作者
只能一步步的排除问题了

使用特权

评论回复
9
paotangsan| | 2022-5-2 10:03 | 只看该作者
先看看晶振有没有问题

使用特权

评论回复
10
renzheshengui| | 2022-5-2 10:11 | 只看该作者
所有的都成倍的变慢了吗

使用特权

评论回复
11
wakayi| | 2022-5-2 10:20 | 只看该作者
看初始化代码没啥问题啊

使用特权

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

本版积分规则

3

主题

28

帖子

0

粉丝