增加协议 发送队列 50ms发送数据
“ ”
This commit is contained in:
96
USER/main.c
Normal file
96
USER/main.c
Normal file
@@ -0,0 +1,96 @@
|
||||
#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; //接收数据长度
|
||||
uint8_t ucRec_Buffer[1024*10]={0}; //接收数据缓存
|
||||
|
||||
extern uint16_t Usart1_ucRx_length;//串口1接收长度
|
||||
extern uint8_t usart1_rx_done;//串口1接收完成标志
|
||||
extern uint8_t Usart1_Rx_Buf[USART1_RX_BUFFER_SIZE];//串口1接收数据
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
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)) //获取socket0的状态
|
||||
{
|
||||
case (SOCK_INIT): //TCP工作模式
|
||||
{
|
||||
listen(0); //在TCP模式下监听客户端
|
||||
}break;
|
||||
|
||||
case (SOCK_ESTABLISHED): //建立链接
|
||||
{
|
||||
if(getSn_IR(0) & Sn_IR_CON)
|
||||
{
|
||||
setSn_IR(0, Sn_IR_CON);
|
||||
}
|
||||
usRec_Length = getSn_RX_RSR(0); /*已接收数据长度*/
|
||||
if(usRec_Length>0)
|
||||
{
|
||||
recv(0, ucRec_Buffer, usRec_Length);
|
||||
|
||||
net_received_data_analysis();
|
||||
// send(0, ucRec_Buffer, usRec_Length); //自收发
|
||||
}
|
||||
}break;
|
||||
|
||||
case (SOCK_CLOSE_WAIT):
|
||||
{
|
||||
disconnect(0); /*断开连接*/
|
||||
}break;
|
||||
|
||||
case (SOCK_CLOSED):
|
||||
{
|
||||
socket(0,Sn_MR_TCP,60000,Sn_MR_ND); /*打开socket0的60000端口*/
|
||||
}break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if((IINCHIP_READ(PHYCFGR)& LINK)==0)
|
||||
{
|
||||
disconnect(0);
|
||||
socket(0,Sn_MR_TCP,60000,Sn_MR_ND); /*打开socket0的60000端口*/
|
||||
listen(0); /*在TCP模式下监听客户端*/
|
||||
}
|
||||
|
||||
if(1 == usart1_rx_done) //串口接收到数据,网口发送至客户端
|
||||
{
|
||||
usart1_rx_done = 0;
|
||||
send(0, Usart1_Rx_Buf, Usart1_ucRx_length);
|
||||
Usart1_ucRx_length = 0;
|
||||
}
|
||||
|
||||
FeedDog();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user