TIMER¶
1 功能概述¶
本例程演示演示 Timer Driver 的基本功能与使用方法。
2 环境准备¶
硬件设备与线材:
PAN271x EVB 核心板与底板各一块
JLink 仿真器(用于烧录例程程序)
USB-TypeC 线一条(用于底板供电和查看串口打印 Log)
杜邦线数根或跳线帽数个(用于连接各个硬件设备)
硬件接线:
将 EVB 核心板插到底板上
连接串口转USB调试模块:
使用 USB-TypeC 线,将 PC USB 插口与 EVB 底板 USB->UART 插口相连
使用杜邦线或跳线帽将 EVB 底板
J8排针对 (P06 & TXD) 和J9排针对 (P05 & RXD) 分别短接起来
连接 Jlink,使用杜邦线将 JLink 仿真器的:
SWD_CLK 引脚与 EVB 底板的 P00 排针相连
SWD_DAT 引脚与 EVB 底板的 P01 排针相连
SWD_GND 引脚与 EVB 底板的 GND 排针相连
使用杜邦线或跳线帽将 EVB 底板
J13排针对 (P13) 和J10排针对 (P14) 分别短接起来
4 例程演示说明¶
烧录完成后,芯片会通过串口打印初始化 Log:
+-----------------------------------------------------------------+ | Press key to test specific function: | | Input 'A' Periodic Mode. | | Input 'B' Continuous-Counting Mode. | | Input 'C' Capture function. | | Press ESC key to back to the top level case list. | +-----------------------------------------------------------------+
串口输入字符‘A’,timer周期计数功能,软件设置timeout时间为333ms,每隔333ms触发一次中断,输出结果查看时间差符合预期。
Timer0, Compare Value:16000000 Start Timer... [17:34:26.237]收←CNT [17:34:26.571]收←CNT [17:34:26.904]收←CNT [17:34:27.237]收←CNT [17:34:27.570]收←CNT
串口输入字符‘B’,timer连续计数功能,软件设置比较值为300000,到达后触发中断并重新设置比较值为600000,最后设置为1200000,每次到达后获取当前的计数器值。
Start Timer... CNT Timer0, Compare Value:300000 CNT Timer0, Compare Value:600000 CNT Timer0, Compare Value:1200000
串口输入字符‘C’,timer捕获功能,timer内部设计的捕获usb sof的间隔,sof理论为1ms来一次,系统时钟为48MHz,理论捕获输出cnt为48000。
+---------------------------------------------------------+ | Press key to test capture edge: | | Input '1' Rising edge. | | Input '2' Falling edge. | | Input '3' Both edge. | +--------------------------------------------------- -----+ 48000 48001 47999 48000 48000 48002 48000 48000 48000
5 RAM/Otp资源使用情况¶
Otp Size: 5.02kB
RAM Size: 0.85kB