📄 tmu_test.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 + -