예제 #1
0
파일: console.c 프로젝트: Fyleo/rtems
static void _BSP_null_char(char c)
{
  int level;

  if (c == '\n')
    _BSP_null_char('\r');
  rtems_interrupt_disable(level);
  while ((MCF_UART_USR(CONSOLE_PORT) & MCF_UART_USR_TXRDY) == 0)
    continue;
  MCF_UART_UTB(CONSOLE_PORT) = c;
  while ((MCF_UART_USR(CONSOLE_PORT) & MCF_UART_USR_TXRDY) == 0)
    continue;
  rtems_interrupt_enable(level);
}
예제 #2
0
void UART_Send1byte(uint8 uartNo, uint8 data)
{
    if(uartNo > 2)
    {  //��������ͨ���Ŵ���2������2������
        uartNo = 2;
    }
    
    //�ȴ�FIFO���п��л���������
    while (!(MCF_UART_USR(uartNo) & MCF_UART_USR_TXRDY))
    {
    }
    //��������
    MCF_UART_UTB(uartNo) = data;
}
예제 #3
0
uint8 UART_Receive1byte(uint8 uartNo)
{
    if(uartNo > 2)
    {  //��������ͨ���Ŵ���2������2������
        uartNo = 2;
    }

    //�ȴ���������
    while (!(MCF_UART_USR(uartNo) & MCF_UART_USR_RXRDY)) 
    {
    }
    
    //���ؽ��յ�������
    return MCF_UART_URB(uartNo);	
}
예제 #4
0
파일: sci2.c 프로젝트: Java1416/prototype
/**************************************************************************
* Function Name    : UART1_ISR 
* Returned Value   :
* Comments         : Timer interrupt service routine
*    
**************************************************************************/
__declspec(interrupt) void UART1_ISR(void)
{
 char tmp;
 
if(MCF_UART_USR(1) & MCF_UART_USR_RXRDY) 
  {
    tmp = (char)MCF_UART_URB(1);  	
    buff[buff_index] = tmp;
    buff_index ++;
    if(BUFF_SIZE == buff_index) 
    {
      buff_index = 0;
    }

  }  
}