uart_test.c

来自「Freescale MCF5445evb 参考测试代码」· C语言 代码 · 共 116 行

C
116
字号
/*! * \file    uart_test.c * \brief   Tests for serial ports on Jamaica * \version $Revision: 1.1 $ * \author  Michael Norman */#include "common.h"#include "uart.h"#include "jamaica_tests.h"/*********************************************************************/	    static UART_INFO uart_info = {    TERM_PORT,          /* UART channel to initialize */    UART_DATA_BITS_8,   /* Data bits per character */    UART_STOP_BITS_1,   /* Stop bits */    UART_PARTIY_NONE,   /* Parity Mode/Type */    FALSE,              /* Use DMA flag */    FALSE,              /* Interrupt/DMA Request on FIFO Full flag */    FALSE,              /* Hardware Flow Control flag */    NULL,               /* Source of the UART Clock */    FBUS_KHZ,           /* UART Clock Frequency in KHz */    TERM_BAUD           /* Desired Baud Rate in bits/second */};/*********************************************************************/	    intuart0_test(void){	int i;	char ch;	char tmp;    uart_info.chan = 0;    uart_init((UART_INFO *)&uart_info);	/* Flush one character through */	uart_putchar(0, 'Z');	for (i = 0; i < 100000; i++)		if (uart_getchar_present(0))			break;			if (i == 100000)		return UART0_FAIL;		uart_getchar(0);		/* Test with 26 characters */	for (ch = 'a'; ch <= 'z'; ch++)	{		uart_putchar(0, ch);				/* Wait for char to be received */		for (i = 0; i < 100000; i++)			if (uart_getchar_present(0))				break;		/* Did we timeout? */		if (i == 100000)		    return UART0_FAIL;				/* Did we receive the character properly? */		tmp = uart_getchar(0);		if (tmp != ch)		    return UART0_FAIL;	}    return UART0_PASS;	}/*********************************************************************/	    intuart1_test(void){	int i;	char ch;	char tmp;    uart_info.chan = 1;    uart_init((UART_INFO *)&uart_info);	/* Flush one character through */	uart_putchar(1, 'Z');	for (i = 0; i < 100000; i++)		if (uart_getchar_present(1))			break;			if (i == 100000)		return UART1_FAIL;		uart_getchar(1);		/* Test with 26 characters */	for (ch = 'a'; ch <= 'z'; ch++)	{		uart_putchar(1, ch);				/* Wait for char to be received */		for (i = 0; i < 100000; i++)			if (uart_getchar_present(1))				break;		/* Did we timeout? */		if (i == 100000)		    return UART1_FAIL;				/* Did we receive the character properly? */		tmp = uart_getchar(1);		if (tmp != ch)		    return UART1_FAIL;	}    return UART1_PASS;	}/*********************************************************************/	    

⌨️ 快捷键说明

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