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

📄 at91_tc.c

📁 lwip在ucos上的移植源码
💻 C
字号:
/*    *  at91_tc.c *  this file implement tc driver on AT91X40  *  for Atmel AT91 timer counter * *  Bugs report:     li ming  ( lmcs00@mails.tsinghua.edu.cn ) *  Last modified:   2003-02-02  * */#include "at91.h"#include "at91_tc.h"#include "at91_aic.h"#include "skyeye_stdio.h"void at91_init_timer(void){        register volatile struct at91_timers* tt = (struct at91_timers*) (AT91_TC_BASE);        register volatile struct at91_timer_channel* tc = &tt->chans[KERNEL_TIMER].ch;        unsigned long v;        /* No SYNC */        tt->bcr = 0;        /* program NO signal on XC1 */        v = tt->bmr;	v &= ~TCNXCNS(KERNEL_TIMER,3);	v |= TCNXCNS(KERNEL_TIMER,1);        tt->bmr = v;		/*	CLKEN: Counter Clock Enable Command (Code Label TC_CLKEN)	0 = No effect.	1 = Enables the clock if CLKDIS is not 1.	CLKDIS: Counter Clock Disable Command (Code Label TC_CLKDIS)	0 = No effect.	1 = Disables the clock.	SWTRG: Software Trigger Command (Code Label TC_SWTRG)	0 = No effect.	1 = A software trigger is performed: the counter is reset and clock is started.	*/	/* disable the channel */        tc->ccr = 2;  	// disable counter clock & disable software trigger	        /* select ACLK/128 as inupt frequency for TC1 and enable CPCTRG */   	// 0 1 1 MCK/128 TC_CLKS_MCK128   	// CPCTRG: RC Compare Trigger Enable (Code Label TC_CPCTRG)	// 0 = RC Compare has no effect on the counter and its clock.	// 1 = RC Compare resets the counter and starts the counter clock.        tc->cmr = 3 | (1 << 14);	        tc->idr = ~0ul;  /* disable all interrupt */	//tc->rc = ((ARM_CLK/128)/HZ - 1);   /* load the count limit into the CR register */	tc->rc = (60);   /* load the count limit into the CR register */	tc->ier = TC_CPCS;  /* enable CPCS interrupt */	/* enable the channel */	tc->ccr = TC_SWTRG|TC_CLKEN;		at91_mask_ack_irq(KERNEL_TIMER_IRQ_NUM);	at91_unmask_irq(KERNEL_TIMER_IRQ_NUM);}

⌨️ 快捷键说明

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