⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 time.h

📁 单片机学习资料 适合初学者进行开发学习
💻 H
字号:
/* * uclinux/include/asm-armnommu/arch-S3C44B0X/time.h * * Copyright (C) 2003 Thomas Eschenbacher <eschenbacher@sympat.de> * * Setup for 16 bit timer 5, used as system timer. * */#ifndef __ASM_ARCH_TIME_H__#define __ASM_ARCH_TIME_H__#include <asm/uaccess.h>#include <asm/io.h>#include <asm/hardware.h>#include <asm/arch/timex.h>extern struct irqaction timer_irq;extern unsigned long s3c44b0x_gettimeoffset(void);extern void s3c44b0x_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs);/* TODO: THE, 2003-08-13, do timer setup like in eCos */#define S3C44B0X_TIMER5_PRESCALER 16extern __inline__ void setup_timer (void){	u_int32_t tmod;	u_int32_t period;	period = (CONFIG_ARM_CLK/S3C44B0X_TIMER5_PRESCALER)/HZ;	outl(period, S3C44B0X_TCNTB5);	tmod=0;	tmod |= S3C44B0X_TCON_T5_MAN_UPDATE;	outl(tmod, S3C44B0X_TCON);	/* initialize the timer period and prescaler */	outl((5-1) << 16, S3C44B0X_TCFG0);	outl( (0x3 <<20), S3C44B0X_TCFG1); /* prescaler */	/*	 * @todo do those really need to be function pointers ?	 */	gettimeoffset     = s3c44b0x_gettimeoffset;	timer_irq.handler = s3c44b0x_timer_interrupt;	/* set up the interrupt vevtor for timer 5 match */	setup_arm_irq(S3C44B0X_INTERRUPT_TIMER5, &timer_irq);	/* enable the timer IRQ */	s3c44b0x_unmask_irq(S3C44B0X_INTERRUPT_TIMER5);	/* let timer 5 run... */	tmod=0;	tmod |= S3C44B0X_TCON_T5_AUTO;	tmod |= S3C44B0X_TCON_T5_START;	outl(tmod, S3C44B0X_TCON);}#endif /* __ASM_ARCH_TIME_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -