从AT32 Work Bench软件上看,定时器一共有15个,其中IRTMR, 用于产生驱动红外 LED 的 IR_OUT 信号,进而实现红外控制功 能。
其他的14个是我们常用的定时器了。
以定时器3为例.
从界面中,可以看到定时器的频率为2288.818HZ,这里就是一个很人性化的设计。
可以根据自己配置的参数,直观的看到配置的定时器的结果。这一点,就比STM32CubeMX就优秀一些。
比如,配置一个1000Hz频率的定时器,就可以调整参数的同时,看到计算结果。
使能中断功能
配置好后,生成代码,但却不进中断,于是在查看代码时,在定时器的配置函数中,看到了一段注释,就是说还要手动打开中断才可以。
其实这里配置时,可以自动添加打开中断的代码的。
而且中断函数里,也没有自动添加清中断标志的代码,这里也完全可以根据配置来自动添加上的。
没有使用过AT32这些工具的,很容易忽略这些配置,有时可能要费不少时间来找问题。
或是把这些说明,直接添加到AT32 Work Bench软件的配置界面上。
进行编译,编译结果是生成了hex文件,但会出现几个错误,实际证明,这部分代码下载后也是正常的。这应该是一个小bug吧。
但后面再生成了几次代码后,就没有这些错误了
虽然 有错,但可以烧写到开发板。
在定时器中断函数中配置了IO的翻转。
使用逻辑分析仪查看E0引脚的波形,周期是1.99997ms,精度非常不错了。
另外,在网上找到了开发板的硬件电路文件,竟然是用立创EDA设计的,这是要走全生态国产的节奏啊。
[img=229,0]C:\Users\WX-F\AppData\Local\YNote\data\jinfei1964@126.com\a100298132974e62b3ac374724832bee\clipboard.png[/img]
|