⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 leddemo.c

📁 ~{WwU_J9SC5D~}ucos~{T4Bk#,1`RkA4=S5wJT>y?IRT#,4x~}uart~{2bJT~}
💻 C
字号:
#include "netstart.h"
#include "ledDemo.h"
#include "uart.h"
#include <string.h>
#include "isr.h"
#include "mac.h"
#include "timer.h"
#include <stdio.h>
#include <stdlib.h>
#include "segment7.h"
#include "..\software\source\includes.h"
#include "..\lwip064\src\include\tcpincludes.h"


extern int TEST(void);
char gAppName[24];
int nLedMode = 0;

void C_Entry ( void );
void Diag ( void );

#define FRAME_Q_SIZE 100
void *OutQSize[FRAME_Q_SIZE];
void *InQSize[FRAME_Q_SIZE];

OS_EVENT * MessageBox;
OS_EVENT * LanSendFinishSem;
OS_EVENT * FrameOutQ;
OS_EVENT * FrameInQ;

OS_STK FrameSendTaskStk[1000];
OS_STK MainTaskStk[1000];
OS_STK TestTaskStk[1000];
OS_STK TaskArpTmrStk[1000];
OS_STK TimeoutTaskStk[1000];
extern void FrameSendTask(void *pdata);  // implemented in macinit.c
extern void TimeoutTask(void *pdata);    // implemented in sys.c


void MainTask(void *pdata)
{

  struct netconn *conn,*newconn;
  struct netbuf *buf;
  struct ip_addr local_addr,remote_addr;
  char *data;
  int i;
  u16_t len;
  IP4_ADDR(&remote_addr,202,204,77,27);
  IP4_ADDR(&local_addr,202,204,77,64);
  newconn=netconn_new(NETCONN_TCP);
  netconn_bind(newconn,&local_addr,7000);
  netconn_listen(newconn);
  while(1) {
	conn=netconn_accept(newconn);
    if(conn==NULL || netconn_err(conn)!=ERR_OK) {
       if(conn!=NULL)
         netconn_delete(conn);  
       OSTimeDly(10);
       continue;
    }   
    
    while((buf = netconn_recv( conn ) )!=NULL) {
      netbuf_first(buf);
      do {
        netbuf_data(buf,(void *)&data,&len);
        netconn_write(conn,data,len,NETCONN_COPY);
      } while( netbuf_next(buf) >= 0);  
      netbuf_delete(buf);  
    }
  netconn_delete(conn);  
  }
}
 
void TestTask(void *pdata)
{
  pdata=pdata;
  int i=0;
  int chk=0;
  struct pbuf *p=NULL;
  INT8U err;
  struct netif *inp;
  
  while(1)  {
    OSTimeDly(200);
    Set7Segment((i++)%16);
    if(chk)
      {
      IOPDATA=0x30080;
      chk=0;
      }
    else
      {
      IOPDATA=0x00080;
      chk=1;
      }
   }
 }
 
void Time1ISR()
 {
 static int i=0;
 i++;
 } 
 
 extern err_t ethernetif_init(struct netif *netif);
void TaskArpTmr( void *pdata)
 {
 struct ip_addr ipaddr;
 struct ip_addr netmask;
 struct ip_addr gw;
 IP4_ADDR(&ipaddr,202,204,77,64);
 IP4_ADDR(&netmask,255,255,255,0);
 IP4_ADDR(&gw,202,204,77,254);
 etharp_init();
 stats_init();
 mem_init();
 memp_init();
 ip_init();
 netif_init();
 pbuf_init();
 tcp_init();
 udp_init();
netif_add(&ipaddr, &netmask,
  &gw,
  NULL,
  ethernetif_init,
  ip_input);
 InitInterrupt();
 UART_Initialize();
 tm_init(TIMER_DEV0,ONE_SECOND/TICKS_PER_SECOND);
 tm_init(TIMER_DEV1,ONE_SECOND/TICKS_PER_SECOND);
 SysSetInterrupt(nTIMER0_INT, OSTimeTick);
 SysSetInterrupt(nTIMER1_INT, Time1ISR);
 
 LanInitialize() ;
  Enable_Int(nGLOBAL_INT);
 struct pbuf *tempbuf;
 int i;
 static char temp[100];
 for(i=0;i<100;i++)
   {
   if(i<40)
     temp[i]=i;
   else temp[i]=0;
   }
tempbuf=pbuf_alloc(PBUF_RAW,64,PBUF_POOL);
if(tempbuf)
 memcpy(tempbuf->payload,temp,100);
int j=0;

 IOPMOD=0x30080;
 IOPDATA=0x00080;
 Timer0Start();
 Timer1Start(); 

 while(1)
   {
     OSTimeDlyHMSM(0,0,3,0);
   }
 return;
 }
 
extern int example(u8_t *ptr, int index);
  
void C_Entry(void)
{
  
  int i;
  for(i=0;i<100;i++)
    TestTaskStk[i]=i;
   
  OSInit();
  OSTaskCreate(MainTask,(void *)0,&MainTaskStk[999],15);
  OSTaskCreate(TestTask,(void *)0,&TestTaskStk[999],7);
  OSTaskCreate(TaskArpTmr,(void *)0,&TaskArpTmrStk[999],4);
  OSTaskCreate(FrameSendTask,(void *)0,&FrameSendTaskStk[999],5);
  OSTaskCreate(TimeoutTask,(void *)0,&TimeoutTaskStk[999],8);
  FrameOutQ=OSQCreate(&OutQSize[0],FRAME_Q_SIZE);
  FrameInQ=OSQCreate(&InQSize[0],FRAME_Q_SIZE);
  MessageBox=OSSemCreate(0);
  LanSendFinishSem=OSSemCreate(1);
  tcpip_init(NULL, NULL);
  OSStart();
  Diag();
}

void  Diag(void)
{
	int i;
	int nShift = 3;
            int count=0;
	InitInterrupt();
    UART_Initialize();

 //   Mytask((void *)12345);
//    tm_init(TIMER_DEV0,ONE_SECOND/TICKS_PER_SECOND);
    Enable_Int(nGLOBAL_INT);
//    Timer0Start();   
 // void *p=malloc(1000);
    IOPMOD=0x30080;
    IOPDATA=0x030080;
    put_byte('A');
    put_byte('B');
    put_char(1,'A');
    put_char(1,'B');
    

    int temp;
    temp=TEST();
    ARMEnableInt();
//    IntConfig();
    MacTest();

	for(;;)
	{
	#if 0

				LedMode0( );
delay();
				LedMode1( );
delay();
				LedMode2( );
delay();
				LedMode3( );
delay();


    PrtSysTime(TIMER_DEV0,"\r\nCurrent Time is ");
        #endif
    }
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -