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

📄 resetprg.c

📁 少见的瑞萨,R8C/Tinmy系列弹片机AD的使用方法,提供源代码.以及中断的进入方法.
💻 C
字号:
/***********************************************************************/
/*                                                                     */
/*  FILE        :resetprg.c                                            */
/*  DATE        :Fri, Nov 09, 2007                                     */
/*  DESCRIPTION :initialize for C language.                            */
/*  CPU GROUP   :16(ROM16K)                                            */
/*                                                                     */
/*  This file is generated by Renesas Project Generator (Ver.4.8).     */
/*                                                                     */
/***********************************************************************/

/*******************************************************************
 *  COMPILER for R8C/Tiny
 *  Copyright(c) 2004 Renesas Technology Corp.
 *  And Renesas Solutions Corp.,All Rights Reserved.                             *
 *
 *  resetprg.c : startup file 
 *
 *  Function:initialize each function
 *
 * $Date: 2005/11/17 06:21:03 $
 * $Revision: 1.6 $
 *******************************************************************/
#include "resetprg.h"
////////////////////////////////////////////
// declare sfr register 
#pragma ADDRESS	protect	0AH
#pragma ADDRESS	pmode0	04H
_UBYTE protect,pmode0;
DEF_SBREGISTER;

#pragma entry start
void start(void);
extern void initsct(void);
extern void _init(void);
void exit(int);
void main(void);

#pragma section program interrupt 
#pragma inline set_cpu()
void set_cpu(void)
{
	_isp_	= &_istack_top; 	// set interrupt stack pointer
	protect = 0x02;		// change protect mode register
	pmode0	= 0x00;		// set processor mode register
	protect = 0x00;		// change protect mode register
	_flg_	= 0x0080;	// set flag register
	_sp_	= &_stack_top; 	// set user stack pointer
	_sb_	= 0x400;	// 400H fixation (Do not change)
	_intbh_ = 0x00; 	// set variable vector's address
	_intbl_ = VECTOR_ADR&0xffff;	// set variable vector's address

}

void start(void)
{
	set_cpu();		// initialize mcu
	initsct();		// initlalize each sections
#ifdef __HEAP__
	heap_init();		// initialize heap 
#endif
#ifdef __STANDARD_IO__
	_init();			// initialize standard I/O
#endif
	_fb_ = 0;		// initialize FB registe for debugger
	main();			// call main routine

	exit(0);		// call exit
}

void exit(int rc)
{
	while(1);		//infinite loop
}



⌨️ 快捷键说明

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