示例#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
文件: core_itm.cpp 项目: 980f/cortexm
/** \brief  ITM Receive Character
 *
 *   This function inputs a character via external variable ITM_RxBuffer.
 *   It just returns when no debugger is connected that has booked the output.
 *   It is blocking when a debugger is connected, but the previous character send is not transmitted.
 *
 *   \return             Received character
 *   \return         -1  No character received
 */
int32_t ITM_ReceiveChar (void){
  if(ITM_CheckChar()) {
    int32_t ch = ITM_RxBuffer;
    ITM_RxBuffer = ITM_RXBUFFER_EMPTY;       /* ready for next character */
    return ch;
  } else {
    return -1;
  }
}
示例#4
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);
}
示例#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 (!(USART1->SR & USART_SR_RXNE));
  return (USART1->DR & 0xFF);
#endif
}
示例#6
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
}
extern int hal_trace_getchar(void) 
{
    if(hal_true != s_hal_trace_supported_is())
    {
        return(-1);
    }

    while(ITM_CheckChar() != 1);
    return(ITM_ReceiveChar());
}    
示例#8
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
}
示例#9
0
/*----------------------------------------------------------------------------
  Check if a character is received
 *----------------------------------------------------------------------------*/
int SER_CheckChar (void) {

#ifdef __DBG_ITM
  return (ITM_CheckChar());
#else
  if (USART1->SR & USART_SR_RXNE)
    return (1);
  else
    return (0);
#endif
}
示例#10
0
/*----------------------------------------------------------------------------
  Check if a character is received
 *----------------------------------------------------------------------------*/
int SER_CheckChar (void) {

#ifdef __DBG_ITM
  return (ITM_CheckChar());
#else
  if (USARTx->SR & 0x0020)
    return (1);
  else
    return (0);
#endif
}
示例#11
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);
}
示例#12
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
}
示例#13
0
extern int hal_trace_getchar(void) 
{
//    return(-1);
    while(ITM_CheckChar() != 1);
    return(ITM_ReceiveChar());
}    
示例#14
0
int fgetc(FILE *f) {
  while (ITM_CheckChar() != 1) __NOP();
  return (ITM_ReceiveChar());
}
示例#15
0
int getkey(void)
{
	while (ITM_CheckChar() != 1) __NOP();
	return (ITM_ReceiveChar());
}