timer0.c
来自「S3C4510(ARM7)开发板bootloader实现及板载硬件测试代码」· C语言 代码 · 共 66 行
C
66 行
#include "timer0.h"
static void delay(int x)
{
int i;
while (x--)
{
for (i = 65536 ; i > 0; i--);
}
}
void timer0_init(void)
{
// unmask the timer0 interrupt ...........
INTMSK &= ~((1<<21) | (1<<10));
TDATA0 = 0x01effff0;
TMOD = 0;
// Clear pending interrupts
INTPND = 0x00000000;
// enable timer 0
TMOD = 1;
}
void timer0_irq_handler( void )
{
//just let led_3 to blink one time
led(3, 1);
delay( 10 );
led(3, 0);
delay( 10 );
TDATA0 = 0x01effff0;
TMOD = 0;
INTPND |= TIMER0_MASK;
TMOD = 1;
}
void timer0demo(void)
{
int i;
uart_get = -INT_MAX;
timer0_init();
uart_init(UART0_BASE, BAUD_19200);
puts("Press 'Enter' to end demo\r\n");
for (; ;)
{
for (i = 0; i < 3; i++)
{
led(i, 1);
delay( 20 );
led(i, 0);
if (uart_get == '\r' || uart_get == '\n')
goto enddemo;
}
}
enddemo:
TMOD = 0;
return;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?