📄 timer.c
字号:
/*
* timer.c - timer api & driver
*
* Author: li ming <admin@lumit.org>
* Date: 2008-4-16
* Copyleft: http://www.lumit.org
*/
#include "timer.h"
/* define the relative gpio register */
#define SYSCFG 0x03FF0000
#define IOPMOD (*((volatile unsigned *)(SYSCFG+0x5000)))
#define IOPDATA (*((volatile unsigned *)(SYSCFG+0x5008)))
#define IOPCON (*((volatile unsigned *)(SYSCFG+0x5004)))
// timer mode register
#define TMOD (*((volatile unsigned *)(SYSCFG+0x6000)))
#define TDATA0 (*((volatile unsigned *)(SYSCFG+0x6004)))
#define TCNT0 (*((volatile unsigned *)(SYSCFG+0x600c)))
#define TDATA1 (*((volatile unsigned *)(SYSCFG+0x6008)))
#define TCNT1 (*((volatile unsigned *)(SYSCFG+0x6010)))
/* set timer related gpio */
int timer_init(void)
{
IOPCON = 0x80000000;
/* enable timer 0 */
TMOD = 0x18;
return 0;
}
int timer1_get_value(void)
{
return TCNT1;
}
int timer_set_value(int value)
{
TDATA1 = value;
return 0;
}
int timer_test(void)
{
timer_set_value(0x3200000);
timer_init();
// 1s = 50Mhz (0x3200000)
while(1)
{
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -