97 lines
2.1 KiB
C
97 lines
2.1 KiB
C
|
#include "Include.h"
|
|||
|
|
|||
|
#include "delay.h"
|
|||
|
#include "IoControl.h"
|
|||
|
#include "Timer.h"
|
|||
|
#include "Usart.h"
|
|||
|
#include "spi1.h"
|
|||
|
#include "w5500.h"
|
|||
|
#include "socket.h"
|
|||
|
#include "WatchDog.h"
|
|||
|
|
|||
|
#include "user_queue.h"
|
|||
|
|
|||
|
uint16_t usRec_Length; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
|||
|
uint8_t ucRec_Buffer[1024*10]={0}; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>
|
|||
|
|
|||
|
extern uint16_t Usart1_ucRx_length;//<2F><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD>ճ<EFBFBD><D5B3><EFBFBD>
|
|||
|
extern uint8_t usart1_rx_done;//<2F><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־
|
|||
|
extern uint8_t Usart1_Rx_Buf[USART1_RX_BUFFER_SIZE];//<2F><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
int main(void)
|
|||
|
{
|
|||
|
parameters_init();
|
|||
|
led_init();
|
|||
|
Tim2Init();
|
|||
|
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
|
|||
|
ble_usart_init(BLE_USART_BAUDRATE);
|
|||
|
|
|||
|
spi1.initialize();
|
|||
|
w5500.initialize();
|
|||
|
|
|||
|
InitQueue(&queue);
|
|||
|
|
|||
|
WatchDogGpioInit();
|
|||
|
WatchDogEnable();
|
|||
|
while(1)
|
|||
|
{
|
|||
|
switch(getSn_SR(0)) //<2F><>ȡsocket0<74><30>״̬
|
|||
|
{
|
|||
|
case (SOCK_INIT): //TCP<43><50><EFBFBD><EFBFBD>ģʽ
|
|||
|
{
|
|||
|
listen(0); //<2F><>TCPģʽ<C4A3>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>
|
|||
|
}break;
|
|||
|
|
|||
|
case (SOCK_ESTABLISHED): //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if(getSn_IR(0) & Sn_IR_CON)
|
|||
|
{
|
|||
|
setSn_IR(0, Sn_IR_CON);
|
|||
|
}
|
|||
|
usRec_Length = getSn_RX_RSR(0); /*<2A>ѽ<EFBFBD><D1BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>*/
|
|||
|
if(usRec_Length>0)
|
|||
|
{
|
|||
|
recv(0, ucRec_Buffer, usRec_Length);
|
|||
|
|
|||
|
net_received_data_analysis();
|
|||
|
// send(0, ucRec_Buffer, usRec_Length); //<2F><><EFBFBD>շ<EFBFBD>
|
|||
|
}
|
|||
|
}break;
|
|||
|
|
|||
|
case (SOCK_CLOSE_WAIT):
|
|||
|
{
|
|||
|
disconnect(0); /*<2A>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
}break;
|
|||
|
|
|||
|
case (SOCK_CLOSED):
|
|||
|
{
|
|||
|
socket(0,Sn_MR_TCP,60000,Sn_MR_ND); /*<2A><><EFBFBD><EFBFBD>socket0<74><30>60000<30>˿<EFBFBD>*/
|
|||
|
}break;
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
if((IINCHIP_READ(PHYCFGR)& LINK)==0)
|
|||
|
{
|
|||
|
disconnect(0);
|
|||
|
socket(0,Sn_MR_TCP,60000,Sn_MR_ND); /*<2A><><EFBFBD><EFBFBD>socket0<74><30>60000<30>˿<EFBFBD>*/
|
|||
|
listen(0); /*<2A><>TCPģʽ<C4A3>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>*/
|
|||
|
}
|
|||
|
|
|||
|
if(1 == usart1_rx_done) //<2F><><EFBFBD>ڽ<EFBFBD><DABD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>
|
|||
|
{
|
|||
|
usart1_rx_done = 0;
|
|||
|
send(0, Usart1_Rx_Buf, Usart1_ucRx_length);
|
|||
|
Usart1_ucRx_length = 0;
|
|||
|
}
|
|||
|
|
|||
|
FeedDog();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|