新手上路
- 积分
- 46
- 金钱
- 46
- 注册时间
- 2014-9-1
- 在线时间
- 6 小时
|

楼主 |
发表于 2014-9-1 13:04:23
|
显示全部楼层
/**
* @brief USART1中断服务程序 提取EPC数据
* @param 无
* @retval 无
*/
void USART1_IRQHandler(void)
{
uint8_t i = 0;
RFID_status status;
if(USART1_RTX_length < 19)
{
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
receive_data19[USART1_RTX_length] = USART_ReceiveData(USART1);
USART1_RTX_length++;
}
/*判断接收的数据是否为确认命令 5个字节*/
if((USART1_RTX_length == 5) &&(receive_data19[USART1_RTX_length-1] == 0x55))
{
for(i = 0;i<USART1_RTX_length;i++)
{
receive_data5 = receive_data19;//将数据转移到5个字节的数组
}
status = receive_data_compare(receive_data5);
RFID_status_display(status);
delay(10000);
LCD_clear_diaplay(3,0,16);
// display_receive_data(receive_data5,5);
USART1_RTX_length =0;//连续发射和接收数据的长度(字节数)清零
receive_data_init(19);//接收数据数组清零
}
/*判断接收的数据是否UII 19个字节*/
if(USART1_RTX_length == 19)
{
extract_EPC_func(receive_data19,EPC_receive_data,cont_flag);//提取EPC数据
display_receive_data(receive_data19,19);
USART1_RTX_length = 0;
}
}> |
|