新唐MCU技术
直播中

恩可口

8年用户 753经验值
私信 关注
[问答]

关于TIMER_Open函数的输出频率问题

各位大大安安,在官方BSP\tiMER_Capture范例中,提到Timer0和Timer3的输出频率各位500Hz和1Hz,但是实际上则是1000Hz和2Hz,这其中是不是有什么误会???谢谢!

    printf("  Timer0: Clock source is 12 MHz; Toggle-output mode and frequency is 500 Hz.\n");
    printf("  Timer3: Clock source is 12 MHz; Toggle-output mode and frequency is 1 Hz.\n");
    printf("  Timer2: Clock source is HCLK(72 MHz); Continuous counting mode; TCMP is 0xFFFFFF;\n");
    printf("          Counter pin enable; Capture pin and capture interrupt enable;\n");
    printf("# Generate 500 Hz frequency from TM0 and connect TM0 pin to Timer2 counter pin.\n");
    printf("# Generate 1 Hz frequency from TM3 and connect TM3 pin to TM2_EXT capture pin.\n");
    printf("# Get 500 event counts from Timer2 counter pin when each TM2_EXT pin interrupt occurred.\n\n");

    /* Initial Timer0 and Timer3 default setting */
    timer0_freq = TIMER_Open(TIMER0, TIMER_TOGGLE_MODE, 1000);
    timer3_freq = TIMER_Open(TIMER3, TIMER_TOGGLE_MODE, 2);
        
    printf("Timer0 frequency = %d\n",timer0_freq);
    printf("Timer3 frequency = %d\n",timer3_freq);

回帖(1)

张瑜

2023-8-21 10:27:09
自己回覆一下,重新看了TRM文件,toggle 模式是toggle 输出 (tout)信号以 50% 的占空比反复改变
所以程式中timer0_freq和timer3_freq变数是代表timer0和timer3中断信号的频率
使用示波器量测Timer0 toggle out 脚位,量测得到500Hz的方波
举报

更多回帖

发帖
×
20
完善资料,
赚取积分