mc68901.c

来自「motorola自己开发的针对coldfire 5272的Dbug bootlo」· C语言 代码 · 共 77 行

C
77
字号
/*
 * File:		mc68901.c
 * Purpose:		Device driver for the Mutli-Function Peripheral
 *
 * Notes:
 *
 * Author:		Eric DeVolder
 * Date:
 *
 * Modifications:
 *
 */

#include "mc68901p.h"

/***************************************************************/
int
mc68901_uart_init (MC68901 *mc68901)
{
	/*
	 * Set up the USART for Async 8N1 at 'baud' baud;
	 */
	MC68901_WR_UCR(mc68901, 0
		| MC68901_UCR_CLK
		| MC68901_UCR_CL_8BIT
		| MC68901_UCR_ST_ASYNC_1_1
		| MC68901_UCR_PARITY_NONE
		) ;

	MC68901_WR_RSR(mc68901, MC68901_RSR_RE);

	return TRUE;
}

/***************************************************************/
char
mc68901_uart_in_char (MC68901 *mc68901)
{
	/*
	 * Wait for character from MFP UART
	 */

	while (!(MC68901_RD_RSR(mc68901) & MC68901_RSR_BF))
		;

	return MC68901_RD_UDR(mc68901);
}

/***************************************************************/
void
mc68901_uart_out_char (MC68901 *mc68901, char ch)
{
	/*
	 * Wait for XMIT ready, then output the character
	 */

	while (!(MC68901_RD_TSR(mc68901) & MC68901_TSR_BE))
		;

	MC68901_WR_UDR(mc68901, ch);

	MC68901_WR_TSR(mc68901, 0
		| MC68901_TSR_HL_HIGH
		| MC68901_TSR_TE
		) ;
}

/***************************************************************/
int
mc68901_uart_char_present (MC68901 *mc68901)
{
	return (MC68901_RD_RSR(mc68901) & MC68901_RSR_BF);
}

/***************************************************************/

⌨️ 快捷键说明

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