找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

[NUC] TIMER_Open 函数的输出频率

[复制链接]
跳转到指定楼层
楼主
assman 发表于 2021-7-22 10:18:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

各位大大安安,在官方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);







分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具 举报

沙发
 楼主| assman 发表于 2021-7-29 11:17:37 | 只看该作者
本帖最后由 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
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU