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

📄 top10_fixcyc_main.c

📁 瑞萨CAN通讯单片机程序
💻 C
字号:
/*""FILE COMMENT""*****************************************************
 *	M32R C Programming		Rev. 1.00
 *		< Sample Program for TOP10 continuous output (main routine) >
 *
 *	Copyright (c) 2003 Renesas Technology Corporation
 *			   And Renesas Solutions Corporation
 *			   All Rights Reserved
 *********************************************************************/

/************************************************************************/
/*		Include file						*/
/************************************************************************/

#include		"..\inc\sfr32170_pragma.h"

/************************************************************************/
/*		Function prototype declaration				*/
/************************************************************************/

	void		main(void);				/* Main function */
	void		init_func(void);			/* Initial setup function */
	void		port_init(void);			/* Initialize port */
	void		timer_init(void);			/* Timer initialization */
	void		TOP10_FixCycInt(void);			/* Fixed cycle interrupt processing */

/************************************************************************/
/*		Definition of external reference			*/
/************************************************************************/

extern void		DisInt( void );				/* Interrupt disable function */
extern void		EnInt( void );				/* Interrupt enable function */

extern void		TOP10_FixCyc_init(void);		/* Initialize TOP10 continuous output mode */

/*""FUNC COMMENT""*******************************************************
 * Function name: timer_init()
 *-----------------------------------------------------------------------
 * Description	: Timer initialization
 *-----------------------------------------------------------------------
 * Argument	: -
 *-----------------------------------------------------------------------
 * Returns	: -
 *-----------------------------------------------------------------------
 * Notes	: -
 *""FUNC COMMENT END""***************************************************/
void timer_init(void)
{
	PRS0 = ( 100 - 1);					/* Set prescaler(10us@10MHz) */
}

/*""FUNC COMMENT""*******************************************************
 * Function name: port_init()
 *-----------------------------------------------------------------------
 * Description	: Initialize port
 *-----------------------------------------------------------------------
 * Argument	: -
 *-----------------------------------------------------------------------
 * Returns	: -
 *-----------------------------------------------------------------------
 * Notes	: -
 *""FUNC COMMENT END""***************************************************/
void port_init(void)
{
/*** LED output port ***/

	P11DATA = 0x00;						/* Output data (must be set prior to mode) */
	P11DIR = 0xff; 						/* P110-P117 : Output mode */
	P11MOD = 0x00; 						/* P110-P117 : Input/output port */
}

/*""FUNC COMMENT""*******************************************************
 * Function name: init_func()
 *-----------------------------------------------------------------------
 * Description	: Call various initialization functions
 *-----------------------------------------------------------------------
 * Argument	: -
 *-----------------------------------------------------------------------
 * Returns	: -
 *-----------------------------------------------------------------------
 * Notes	: -
 *""FUNC COMMENT END""***************************************************/
void init_func(void)
{
	port_init();						/* Initialize those related to port */
	timer_init();						/* Initialize those related to timer */
}

/*""FUNC COMMENT""*******************************************************
 * Function name: main()
 *-----------------------------------------------------------------------
 * Description	: While using TOP10 in continuous output mode, this program generates an interrupt at intervals of 50ms
 * 		: (when the source clock frequency = 10 MHz) to increment the LED (port 11) data.
 * 		: In this case, timer output is not forwarded to external devices.
 *-----------------------------------------------------------------------
 * Argument	: -
 *-----------------------------------------------------------------------
 * Returns	: -
 *-----------------------------------------------------------------------
 * Notes	: -
 *""FUNC COMMENT END""***************************************************/
void main(void)
{
/*** Initializing microcomputer ***/

	init_func();

	DisInt();						/* Disable interrupt */

	TOP10_FixCyc_init();					/* Start TOP10 count */

	EnInt();						/* Enable interrupt */

	while( 1 );						/* Wait for interrupt (infinite loop) */
}

/*""FUNC COMMENT""*******************************************************
 * Function name: TOP10_FixCycInt()
 *-----------------------------------------------------------------------
 * Description	: Fixed cycle interrupt processing
 *-----------------------------------------------------------------------
 * Argument	: -
 *-----------------------------------------------------------------------
 * Returns	: -
 *-----------------------------------------------------------------------
 * Notes	: -
 *""FUNC COMMENT END""***************************************************/
void	TOP10_FixCycInt()
{
	P11DATA++;						/* Increment port upon occurrence of interrupt */
}

⌨️ 快捷键说明

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