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

📄 intrrupu_tes.c

📁 这是关于NEC公司产的SH2系列芯片的几个例子程序,对这几个熟了,就很有利于基于其上的开发的展开
💻 C
字号:
/***********************************************************************/
/*                                                                     */
/*  FILE        :Intrrupu_tes.c                                        */
/*  DATE        :Fri, Feb 17, 2006                                     */
/*  DESCRIPTION :Main Program                                          */
/*  CPU TYPE    :SH7144F                                               */
/*                                                                     */
/*  This file is generated by Renesas Project Generator (Ver.4.0).     */
/*                                                                     */
/***********************************************************************/
                  


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

#include <machine.h>
#include "iodefine.h"

void init_SCI(void);
void init_PORT(void);
void put_char(char);
char get_char(void);
void prt_str(char *str);
char inp_str(char *x);
void init_MTU(void);

void main(void)
{
int MTU1_cont;

init_PORT();
init_SCI();
init_MTU();

set_imask(0);
PE.DRL.BIT.B15 = 0;

MTU1.TCNT = 32768;		//僇僂儞僩傾僢僾丒僟僂儞偑傢偐傝傗偡偄傛偆偵偵僇僂儞僞傪愝掕
while(1){
	MTU1_cont = MTU1.TCNT;

/*丂僇僂儞僞偺抣傪暥帤偵曄姺偟偰昞帵丂*/
	put_char((MTU1.TCNT/10000)%10+0x30);
	put_char((MTU1.TCNT/1000)%10+0x30);
	put_char((MTU1.TCNT/100)%10+0x30);
	put_char((MTU1.TCNT/10)%10+0x30);
	put_char(MTU1.TCNT%10+0x30);
/*丂夵峴+峴偺愭摢傊丂*/
	put_char(0x0a);
	put_char(0x0d);

	}

}

void init_PORT(void){
	PFC.PEIORL.BIT.B15 = 1;
	}

void put_char(char str){
	while(!SCI1.SSR.BIT.TDRE);
	SCI1.TDR = str;
	SCI1.SSR.BIT.TDRE = 0;
	while(!SCI1.SSR.BIT.TEND);
	}

char get_char(void){
	char c;
	while(!(SCI1.SSR.BYTE & 0x78));
	c = SCI1.RDR;
	while(!(SCI1.SSR.BIT.RDRF));
	SCI1.SSR.BYTE &= ~0x78;
	return c;
	}
  
void prt_str(char *str){
	while(*str != 0){
		put_char(*str);
		str++;
		}
	}

char inp_str(char *x){
	char n,d;
	while(1){
		d = get_char();
		if(d == 0x0d)break;
		if(d == 0x0a)break;
		*x++= d;
		n++;
		}
	*x = 0;
	prt_str("\n");
	return n;
	}

void init_SCI(void){
	int i;
	MST.CR1.BIT._SCI1 = 0;
	PFC.PAIORL.BIT.B4 = 1;
	PFC.PACRL2.BIT.PA4MD = 1;
	PFC.PACRL2.BIT.PA3MD = 1; 
	SCI1.SCR.BYTE = 0x00;
	SCI1.SMR.BYTE = 0x00;
	SCI1.BRR = 19;			//38400bps
//	SCI1.BRR = 77;			960000bps
	for(i=0;i<=1000;i++);
	SCI1.SCR.BIT.TE = 1;
	SCI1.SCR.BIT.RE = 1;
	}

void init_MTU(void){			//僠儍僱儖1傪埵憡學悢儌乕僪偵愝掕
	MST.CR2.BIT._MTU = 0;		//僗僞儞僶僀儌乕僪偺夝彍
	PFC.PACRL2.BIT.PA6MD = 1;	//TCLKA抂巕偵愝掕
	PFC.PACRL2.BIT.PA7MD = 1;	//TCLKB抂巕偵愝掕
	MTU1.TMDR.BIT.MD = 4;		//僇僂儞僩忦審傪愝掕
	MTU.TSTR.BIT.CST1 = 1;		//僇僂儞僩僗僞乕僩
	}

#ifdef __cplusplus
void abort(void)
{
	
}
#endif

⌨️ 快捷键说明

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