Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void USART2_IRQHandler(void){
- extern char RxBuffer[];
- extern u8 RxCounter;
- extern u8 newline;
- extern u8 command_received;
- extern u8 PEMode;
- // receive UART2 int flag set
- if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)
- {
- // Disable USART2 Receive interrupt
- USART_ITConfig(USART2, USART_IT_RXNE, DISABLE);
- // if(!PEMode) // L4LMode
- // {
- // Read one byte from the receive data register
- RxBuffer[RxCounter] = (USART_ReceiveData(USART2));
- // echo character
- USART_SendData(USART2, RxBuffer[RxCounter]);
- // check for <LF> or <CR> and insert null terminator
- if((RxBuffer[RxCounter] == 0X0A) || (RxBuffer[RxCounter]) == 0X0D)
- {
- RxBuffer[RxCounter] = 0X00;
- RxCounter = 0;
- command_received=TRUE; // command received and needs parsing
- }
- else
- {
- if(RxBuffer[RxCounter] == 0X08)
- { // backspace detected, decrement counter
- if(RxCounter > 0) RxCounter--;
- }
- else
- {
- RxCounter++;
- }
- }
- //}
- /*
- // PE MODE
- else
- { // PEMode
- //cmd_buf[byte_ptr] = S1BUF;
- // Read one byte from the receive data register
- RxBuffer[RxCounter] = (USART_ReceiveData(USART2));
- if(RxBuffer[0] == 0X05) RxCounter++;
- if(RxCounter >= 5)
- {
- RxCounter = 0;
- command_received = TRUE;
- }
- }*/
- }
- // re-enable USART2 Receive Interrupt
- USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement