예제 #1
0
파일: Serial.c 프로젝트: 0xB767B/embcdt
/*-----------------------------------------------------------------------------
 *       SER_GetChar:  Read a character from the Serial Port
 *----------------------------------------------------------------------------*/
int32_t SER_GetChar (void) {
#ifdef __DBG_ITM
  if (ITM_CheckChar())
    return ITM_ReceiveChar();
#else
//  if (UART1_S1 & UART_S1_RDRF_MASK) {
    //while (!(UART1_S1 & UART_S1_RDRF_MASK));
    //return (UART1_D);

	// Wait until character has been received //
    //while (!(UART_S1_REG(TERM_PORT) & UART_S1_RDRF_MASK));
    
    // Return the 8-bit data from the receiver //
    //return UART_D_REG(TERM_PORT);
	
	if (TERM_PORT_NUM == 0)
    return uart0_getchar(UART0_BASE_PTR);
  else if (TERM_PORT_NUM == 1)
    return uart_getchar(UART1_BASE_PTR);
  else
    return uart_getchar(UART2_BASE_PTR);
  
#endif
  return (-1);
}
예제 #2
0
/*----------------------------------------------------------------------------
  SER_GetChar:  Read a character from the Serial Port
 *----------------------------------------------------------------------------*/
int SER_GetChar (void) {

#if   defined __DBG_ITM
  if (ITM_CheckChar())
    return ITM_ReceiveChar();
#endif

  return (-1);
}
예제 #3
0
/*-----------------------------------------------------------------------------
 *       SER_GetChar:  Read a character from Serial Port
 *----------------------------------------------------------------------------*/
int32_t SER_GetChar (void) {
#ifdef __DBG_ITM
  if (ITM_CheckChar())
    return ITM_ReceiveChar();
#else
  if (UART4->SR & 0x0020)
    return (UART4->DR);
#endif
  return (-1);
}
예제 #4
0
/*----------------------------------------------------------------------------
  Read character from Serial Port   (blocking read)
 *----------------------------------------------------------------------------*/
int SER_GetChar (void) {

#ifdef __DBG_ITM
  while (ITM_CheckChar() != 1) __NOP();
  return (ITM_ReceiveChar());
#else
  while (!(USART1->SR & USART_SR_RXNE));
  return (USART1->DR & 0xFF);
#endif
}
예제 #5
0
/*----------------------------------------------------------------------------
  Read character from Serial Port   (blocking read)
 *----------------------------------------------------------------------------*/
int SER_GetChar (void) {

#ifdef __DBG_ITM
  while (ITM_CheckChar() != 1) __NOP();
  return (ITM_ReceiveChar());
#else
  while (!(USARTx->SR & 0x0020));
  return (USARTx->DR & 0x1FF);
#endif
}
예제 #6
0
extern int hal_trace_getchar(void) 
{
    if(hal_true != s_hal_trace_supported_is())
    {
        return(-1);
    }

    while(ITM_CheckChar() != 1);
    return(ITM_ReceiveChar());
}    
예제 #7
0
/*----------------------------------------------------------------------------
  Read character from Serial Port   (blocking read)
 *----------------------------------------------------------------------------*/
int SER_GetChar (void) {

#ifdef __DBG_ITM
  while (ITM_CheckChar() != 1) __NOP();
  return (ITM_ReceiveChar());
#else
  while (!(UART->LSR & 0x01));
  return (UART->RBR);
#endif
}
예제 #8
0
int SER_GetChar3 (void) {

#ifdef __DBG_ITM
  if (ITM_CheckChar())
    return (ITM_ReceiveChar());
#else
  if (USART3->SR & 0x0020)
  	 return (USART3->DR);	  
   
#endif
  return (-1);
}
예제 #9
0
파일: uart.c 프로젝트: fvmacchi/rts
uint8_t UARTReceiveChar( uint32_t portNum)
{
	#ifdef __RTGT_UART
		/*uint8_t ret[1];
		if (UARTRecieve(portNum, ret, 1) == 1)
			return ret[0];
		return 0x0;	*/
		LPC_UART_TypeDef *LPC_UART;
		LPC_UART = (portNum == 0 ? (LPC_UART_TypeDef *)LPC_UART0 : (LPC_UART_TypeDef *)LPC_UART1 );
		while (!(LPC_UART->LSR & 0x01));
		return (LPC_UART->RBR);
	#else
		while (ITM_CheckChar() != 1) __NOP();
		return (ITM_ReceiveChar());
	#endif
}
예제 #10
0
extern int hal_trace_getchar(void) 
{
//    return(-1);
    while(ITM_CheckChar() != 1);
    return(ITM_ReceiveChar());
}    
예제 #11
0
int fgetc(FILE *f) {
  while (ITM_CheckChar() != 1) __NOP();
  return (ITM_ReceiveChar());
}
예제 #12
0
int getkey(void)
{
	while (ITM_CheckChar() != 1) __NOP();
	return (ITM_ReceiveChar());
}
예제 #13
0
int stdin_getchar(void) {
	return ITM_ReceiveChar();
}