m54455evb_uart_test.c
来自「Freescale MCF5445evb 参考测试代码」· C语言 代码 · 共 118 行
C
118 行
/*! * \file m54455evb_uart_test.c * \brief Tests for serial ports on the M54455EVB (aka Jamaica) * \version $Revision: 1.1 $ * \author Michael Norman */#include "common.h"#include "uart.h"#include "m54455evb_fat.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 */ 0, /* 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_info.clkfreq = clock_get_fbus(); 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 1; 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 1; /* Did we receive the character properly? */ tmp = uart_getchar(0); if (tmp != ch) return 1; } return 0; }/*********************************************************************/ intuart1_test(void){ int i; char ch; char tmp; uart_info.chan = 1; uart_info.clkfreq = clock_get_fbus(); 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 1; 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 1; /* Did we receive the character properly? */ tmp = uart_getchar(1); if (tmp != ch) return 1; } return 0; }/*********************************************************************/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?