Ejemplo n.º 1
0
@far @interrupt void UART2_RX_IRQHandler(void) {
	u8 c;
	if (UART2_GetFlagStatus(UART2_FLAG_RXNE) != RESET) {
		/* Read one byte from the receive data register */
		c = UART2_ReceiveData8();
		CharDecode( c );
	}
}
Ejemplo n.º 2
0
@far @interrupt void UART2_RX_IRQHandler(void) {
	u8 c;
	if (UART2_GetFlagStatus(UART2_FLAG_RXNE) != RESET) {
		/* Read one byte from the receive data register */
		c = UART2_ReceiveData8();
		if (EncodeNMEA( c )) {
			  // process new gps info here
		}
	}
}
Ejemplo n.º 3
0
void mod_int_rx()
{
	uint16_t crc;
	uint8_t val;

	if (UART2_GetITStatus(UART2_IT_RXNE) == SET)
	{
		UART2_ClearFlag (UART2_FLAG_RXNE);
		if (modFrame.rxCursor < (sizeof(modFrame.rxframe) - 1))
		{
			modFrame.rxframe[modFrame.rxCursor] = UART2_ReceiveData8();
			modFrame.rxCursor ++;
			setFrameCheck(MOD_TIMER_START);

		}
		else 
		{
			//buffer is over
			setTimeoutCheck(MOD_TIMER_STOP);
			setFrameCheck(MOD_TIMER_STOP);
			modFrame.modState = Mod_State_ProcessReply;

	
			modFrame.rxBufOver = TRUE;
		}

	}
	if (UART2_GetITStatus(UART2_IT_OR) == SET)
	{
		//sr = UART2->SR;
		//sr = UART2->DR;
		UART2_ClearFlag (UART2_FLAG_RXNE);
		UART2_ClearITPendingBit(UART2_IT_RXNE);
		val = UART2->SR;
		val = UART2->DR;
		modFrame.modState = Mod_State_ProcessReply;

		setTimeoutCheck(MOD_TIMER_STOP);
		setFrameCheck(MOD_TIMER_STOP);

		modFrame.rxOver = TRUE;
	}
}
Ejemplo n.º 4
0
  * @brief UART2 RX interrupt routine.
  * @par Parameters:
  * None
  * @retval
  * None
*/
#ifdef _COSMIC_
@far @interrupt void UART2_RX_IRQHandler(void)
#else /* _RAISONANCE_ */
void UART2_RX_IRQHandler(void) interrupt 21
#endif /* _COSMIC_ */
{
    /* In order to detect unexpected events during development,
       it is recommended to set a breakpoint on the following instruction.
    */
	printf( "%c", UART2_ReceiveData8() );
}
#endif /* STM8S105*/

#if defined(STM8S207) || defined(STM8S208)
/**
  * @brief UART3 TX interrupt routine.
  * @par Parameters:
  * None
  * @retval
  * None
*/
#ifdef _COSMIC_
@far @interrupt void UART3_TX_IRQHandler(void)
#else /* _RAISONANCE_ */
void UART3_TX_IRQHandler(void) interrupt 20