| | |
| | | dma_recv_cnt = dma_mar_reg_read - (uint32)up_comm_recv_buff; |
| | | if( (dma_recv_cnt>0)&&(dma_recv_cnt <= UP_COMM_RECV_BUFF_LEN_MAX)) |
| | | { |
| | | if((dma_recv_cnt >= UP_COMM_RECV_BUFF_LEN_MAX) || (dma_recv_cnt >= UC_RECV_LEN_MAX) ) |
| | | return; |
| | | |
| | | uc_recv_para_p->uc_recv_length = dma_recv_cnt; |
| | | arrayA_2_arrayB(up_comm_recv_buff , uc_recv_para_p->uc_recv_buf_union.uc_recv_buf, dma_recv_cnt, LITTLE_ENDIAN) ; |
| | | uc_recv_para_p->uc_recv_flag = SET;//½ÓÊÕÍê³É |
| | |
| | | void upperComPro(void) |
| | | { |
| | | //½ÓÊÕÊý¾ÝÅÐ¶Ï |
| | | if(__SYS_STATUS_BYTES_GET(power_state) == SET) |
| | | up_comm_RX_DMA_check(&uc_recv_para_g); //Í⹩µçϲŴ¦Àí½ÓÊÕ |
| | | if(__SYS_STATUS_BYTES_GET(power_state) == SET){ |
| | | up_comm_RX_DMA_check(&uc_recv_para_g); //Í⹩µçϲŴ¦Àí½ÓÊÕ |
| | | } |
| | | |
| | | /*Ö¡¸ñʽ½âÎöÅжϣ¬´Ë´¦¼æÈÝmodbusÐÒ飬µÚÒ»¸ö×Ö½ÚÈç¹ûÊÇ0x68´ú±íÉÏλ»úÐÒ飬·Ç0x68ÔÙ½øÈëmodbus´¦Àí*/ |
| | | if ((uc_recv_para_g.uc_recv_flag ==SET)&&(uc_recv_para_g.uc_recv_length > UC_PROTOCOL_HEAD_LENGTH )&&(uc_recv_para_g.uc_recv_buf_union.uc_protocol_head_s.frame_start_code == UC_FRAME_HEAD_CODE)) |
| | |
| | | } |
| | | } |
| | | |
| | | //ÉÏλ»ú³¬Ê±´¦Àí£¬µ±³¤Ê±¼äûÓн»»¥Ê±£¬Ëæ»úÂëʧЧ£¬ÐèÒªÖØÐµÇÈë²ÅÄܼÌÐøÊ¹Óà |
| | | if(__SYS_DELAY_SEC_FLAG_GET(UC_active_time) == SET){ |
| | | __SYS_DELAY_SEC_FLAG_CLEAR_(UC_active_time); |
| | | |
| | | local_random_code_g = 0; |
| | | } |
| | | |
| | | |
| | | //½øÈëmodbus´¦Àí |
| | | if ((uc_recv_para_g.uc_recv_flag ==SET)&&(uc_recv_para_g.uc_recv_length > 7 )&&(uc_recv_para_g.uc_recv_buf_union.uc_recv_buf[0] != UC_FRAME_HEAD_CODE)) |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |