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

📄 timer10ms.c

📁 TIDSP2407的CAN总线例程
💻 C
字号:
#include <main.h>
#include "ex.h"
/*
+------------------------------------------------------------------------------+
	函 数 名  	: timer10ms_init()
	功能描述	: timer10ms的初始化
	函数原形	: void timer10ms_init()
	参数说明	: 
	支持资源	: 
	作    者	: 桂林
	最后更改日期: 2002-11-15
+------------------------------------------------------------------------------+
*/
void timer10ms_init(void)//40Mhz
{
	GPTCONA = 	0;
	T1PR	=	10*(40000/128); // 10..200(ms)
	T1CNT	=	0;
	T1CON	=	0x1706;
	EVAIMRA	=	0x0080;
	EVAIFRA	=	0xFFFF;
	T1CON	=	0x1746;
}
/*
+------------------------------------------------------------------------------+
	函 数 名  	: TIMER10MS_ISR()
	功能描述	: TIMER10MS_ISR中断服务程序
	函数原形	: interrupt void TIMER10MS_ISR(void)
	参数说明	: 
	支持资源	: 
	作    者	: 桂林
	最后更改日期: 2002-11-15
+------------------------------------------------------------------------------+
*/
interrupt void TIMER10MS_ISR(void)
{
	static U16 temp_state=0;
	U16 tempi=0;U16 *p16;
	
//	sci_tx(0x55);// 测试中断是否产生
	
	if((GVAR.timer_10ms_num++)>=100) {GVAR.timer_10ms_num = 0;GVAR.GRT.SEC++;};
	if(GVAR.GRT.SEC>=60){GVAR.GRT.SEC=0;GVAR.GRT.MIN++;};
	if(GVAR.GRT.MIN>=60){GVAR.GRT.MIN=0;GVAR.GRT.HOUR++;};
	
	GVAR.ADCNUM = adc_read();
	
	p16 = (U16 *)&GVAR.dsp0out;read_para_dsp0(p16);
	p16 = (U16 *)&GVAR.dsp0in;write_para_dsp0(p16);
	
	switch(temp_state)
	{
		case 0:
		{
			temp_state = 1;
			// 发空闲标志到LCD
			tempi = 0x00a5;
			if(GVAR.GS.LCD=LENGTH) st16_lcd_tx(1,&tempi);
			break;
		}
		case 1:
		{
			temp_state = 2;
			break;
		}
		case 2:
		{
			temp_state = 3;
			// 发数据到PROFIBUS
			tempi = sizeof(GVAR.dsp0out);p16 = (U16 *)&GVAR.dsp0out;
			if(GVAR.GS.PROFIBUS=LENGTH) st16_pro_tx(tempi,p16);
			break;
		}
		case 3:
		{
			temp_state = 4;
			// 发空闲标志到PROFIBUS
			tempi = 0x00a5;
			if(GVAR.GS.PROFIBUS=LENGTH) st16_pro_tx(1,&tempi);
			break;
		}
		default:
		{
			temp_state=0;
			break;
		}
	};// end switch
	
	EVAIFRA = 0xffff;
	EnableINT; 

}

⌨️ 快捷键说明

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