牛卧堂MCU技术交流

标题: TIMER_Open 函数的输出频率 [打印本页]

作者: assman    时间: 2021-7-22 10:18
标题: 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);








作者: assman    时间: 2021-7-29 11:17
本帖最后由 assman 于 2021-7-29 12:07 编辑

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




TEK0078.JPG (94.4 KB, 下载次数: 302)

TEK0078.JPG





欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/) Powered by Discuz! X3.2