summaryrefslogtreecommitdiff
path: root/bsp/ls1cdev/libraries/ls1c_timer.h
diff options
context:
space:
mode:
author勤为本 <[email protected]>2017-07-18 11:33:27 +0800
committer勤为本 <[email protected]>2017-07-18 11:33:27 +0800
commit878b222741dd2b628240d1b19401c04ae507860f (patch)
tree6bae0edd135bb040778375d146147358eb8aae2f /bsp/ls1cdev/libraries/ls1c_timer.h
parentd22df879ace32d18a6fed07427a14f2f3b92b009 (diff)
将“龙芯1c库”中硬件定时器相关接口移植到RT-Thread
Diffstat (limited to 'bsp/ls1cdev/libraries/ls1c_timer.h')
-rw-r--r--bsp/ls1cdev/libraries/ls1c_timer.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/bsp/ls1cdev/libraries/ls1c_timer.h b/bsp/ls1cdev/libraries/ls1c_timer.h
new file mode 100644
index 0000000000..df38c705f5
--- /dev/null
+++ b/bsp/ls1cdev/libraries/ls1c_timer.h
@@ -0,0 +1,69 @@
+// Ӳ����ʱ��ͷ�ļ�
+
+
+#ifndef __OPENLOONGSON_TIMER_H
+#define __OPENLOONGSON_TIMER_H
+
+
+#include "ls1c_public.h"
+
+
+// Ӳ����ʱ��
+typedef enum
+{
+ TIMER_PWM0, // PWM0����Ӳ����ʱ��
+ TIMER_PWM1, // PWM1����Ӳ����ʱ��
+ TIMER_PWM2, // PWM2����Ӳ����ʱ��
+ TIMER_PWM3 // PWM3����Ӳ����ʱ��
+}ls1c_timer_t;
+
+
+// Ӳ����ʱ����Ϣ
+typedef struct
+{
+ ls1c_timer_t timer; // Ӳ����ʱ��
+ unsigned long time_ns; // ��ʱʱ��
+}timer_info_t;
+
+
+
+/*
+ * ��ʼ����ʱ��������ʼ��ʱ
+ * @timer_info ��ʱ���Ͷ�ʱʱ����Ϣ
+ */
+void timer_init(timer_info_t *timer_info);
+
+
+/*
+ * �ж�ָ����ʱ���Ƿ�ʱ
+ * @timer_info ��ʱ��
+ * @ret TRUE or FALSE
+ */
+BOOL timer_is_time_out(timer_info_t *timer_info);
+
+
+/*
+ * ֹͣ��ʱ��
+ * @timer_info ��ʱ��
+ */
+void timer_stop(timer_info_t *timer_info);
+
+
+
+/*
+ * ��ȡ��ʱ���ӳ�ʼ�������ڵ�ʱ��(ʵ�ּ�ʱ����)����λns
+ * @timer_info Ӳ����ʱ��
+ * @ret ʱ�䣬��λns
+ */
+unsigned long timer_get_time_ns(timer_info_t *timer_info);
+
+
+/*
+ * ��ӡtimer��ؼĴ�����ֵ
+ * @timer_info Ӳ����ʱ��
+ */
+void timer_print_regs(timer_info_t *timer_info);
+
+
+#endif
+