硬件定时器可以对外部时钟进行计数,利用内部时钟进行定时。
函数 | 描述 |
---|---|
| 查找定时器设备 |
rt_err_t rt_device_open(rt_device_t dev, rt_uint16_t oflags);ofalgs=RT_DEVICE_OFLAG_RDWR | 以读写方式打开定时器设备 |
rt_err_t rt_device_set_rx_indicate(rt_device_t dev, rt_err_t (*rx_ind)(rt_device_t dev,rt_size_t size)) | 设置超时回调函数 |
rt_err_t rt_device_control(rt_device_t dev, rt_uint8_t cmd, void* arg); | 控制定时器设备,可以设置定时模式(单次/周期)/计数频率,或者停止定时器 |
| 设置定时器超时值,定时器随即启动 |
rt_size_t rt_device_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_size_t size); | 获取定时器当前值 |
rt_err_t rt_device_close(rt_device_t dev); | 关闭定时器设备 |
硬件定时器设备支持的命令控制字如下所示:
控制字 | 描述 |
---|---|
HWTIMER_CTRL_FREQ_SET | 设置计数频率 |
HWTIMER_CTRL_STOP | 停止定时器 |
HWTIMER_CTRL_INFO_GET | 获取定时器特征信息 |
HWTIMER_CTRL_MODE_SET | 设置定时器模式 |