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

📄 tmu_test.c

📁 SH3
💻 C
字号:
/***********************************************************************/
/*                                                                     */
/*  FILE        :TMU_test.c                                            */
/*  DATE        :Wed, Nov 01, 2006                                     */
/*  DESCRIPTION :Main Program                                          */
/*  CPU TYPE    :SH7709S                                               */
/*                                                                     */
/*  This file is generated by Renesas Project Generator (Ver.3.1).     */
/*                                                                     */
/***********************************************************************/
                  

#include "7709s.h"
#include "math.h"

#ifdef __cplusplus
//#include <ios>					// Remove the comment when you use ios                  
//int ios_base::Init::init_cnt;		// Remove the comment when you use ios
#endif
#ifdef __cplusplus
extern "C" {
#endif
void abort(void);
#ifdef __cplusplus
}
#endif


#define LED_DATA (*(volatile unsigned short *)0x00800000) /* LED   Address*/
#define PCLK 32000000UL

void LED(int times);
void INT_TMU_TUNI0();
void LED_FLASH(void);
void init_timer();
void main(void);
void delay();

#pragma  interrupt(INT_TMU_TUNI0)
void INT_TMU_TUNI0()
{	
	TMU.TSTR.BYTE &= 0xFE;				// 停止TMU0				
	LED(3);
	delay();
	TMU.TSTR.BYTE |= 0x01;				// 启动TMU0				
	return;
}

void delay()
{

	int i,j;
	for(i=0;i<20000;i++)
	{
		for(j=0;j<2000;j++);
	}
}

void LED_FLASH(void)
{
	int i,j;

	LED_DATA=0x55;
	for(j=0;j<0x200000;j++){}
	LED_DATA=0xAA;
	for(j=0;j<0x200000;j++){}
	return;
}

void LED(int times)
{
    while(times--)
	{
		LED_FLASH();
	}
}

void init_timer()
{
	INTC.IPRA.WORD =0xF000;
   	TMU.TSTR.BYTE  = 0x00;              // 在操作前停步计数
   	TMU0.TCOR = (PCLK/256/5) - 1;		// 设置比较寄存器      
   	TMU0.TCNT = (PCLK/256/5) - 1;  		//  
                                		// 每秒5次
   	TMU0.TCR.WORD  = 0x0023;            // 中断使能
                                		// 时钟源= PCLK/256
   	TMU1.TCR.WORD  = 0x0000;
   	TMU2.TCR.WORD  = 0x0000;
   	TMU.TSTR.BYTE |= 0x01;				// 启动TMU0				
}

void main(void)
{
	LED(3);
	init_timer();
	while(1);	
}

void abort(void)
{
	
}

⌨️ 快捷键说明

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