📄 init.c
字号:
/*
* Copyright (c) 2001, Swedish Institute of Computer Science.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* 3. Neither the name of the Institute nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* This file is part of the lwIP TCP/IP stack.
*
* Author: Adam Dunkels <adam@sics.se>
*
* $Id: init.c,v 1.1 2001/01/31 10:57:39 adam Exp $
*/
#include "lwip\debug.h"
#include "lwip\mem.h"
#include "lwip\sys.h"
#include "lwip\stats.h"
#include "lwip\loopif.h"
#include "lwip\tcp.h"
#include "lwip\lcd.h"
#include "lwip\arp.h"
#include "lwip\cs8900if.h"
//#include "http_noapi.h"
//#include "systat.h"
#include "lwip\ip.h"
#include "lwip\udp.h"
#include "lwip\tcp.h"
#include "lwip\slipif.h"
#include "mb90495.h"
#include "lwip\aquaco_pas.h"
#include "lwip\test_tcp.h"
#pragma section FAR_CODE=RAMCODE /* located the program into RAM */
#pragma section CODE=RAMCODE
u16_t systime;
u16_t mycnt=0;
u8_t fast_f;
int arp_timer=0;
int arp_flag=0;
//struct tcp_pcb *incTCP1, *incTCP2, *outTCP1, *outTCP2, *outTCP3;
err_t Error;
err_t accept(void *arg, struct tcp_pcb *newpcb, err_t err) {
return 0;
}
struct pbuf *pb;
u16_t cnt;
int
main()
{
struct ip_addr ipaddr, netmask, gw;
TMRLR1 = 0x1388; /* set reload value */
TMCSR1 = 0x81B; /* prescaler 2us at 16 MHz */
InitIrqLevels();
__set_il(7); // set ILM to 7, allow all interrupt levels
__EI(); // enable interrupts at all
LCDInit();
Put_String("Init\n");
systime=0;
fast_f=0;
mem_init();
memp_init();
pbuf_init();
ip_init();
udp_init();
tcp_init();
arp_init();
stats_init();
sys_init();
pas_init();
// test_init();
gw.addr = htonl(0x7f000001);
ipaddr.addr = htonl(0x7f000001);
netmask.addr = htonl(0xff000000);
netif_add(&ipaddr, &netmask, &gw, loopif_init, ip_input);
// netif_set_default(netif_add(&ipaddr, &netmask, &gw, loopif_init, ip_input));
gw.addr = htonl(0x0A0A0AFA);
ipaddr.addr = htonl(0x0A0A0ADE);
netmask.addr = htonl(0xffffff00);
netif_set_default(netif_add(&ipaddr, &netmask, &gw, cs8900if_init, ip_input));
while(1) {
if(fast_f) {
fast_f=0;
tcp_tmr();
mycnt++;
}
if(arp_flag) {
pas_event_set(PAS_PORT);
arp_flag=0;
arp_tmr();
Put_String("\nMem used: ");
mprintf((float)stats.mem.used,6,0);
}
cs8900if_service(netif_default);
pas_service();
// slip();
}
}
__interrupt void Reload1Int(void) {
TMCSR1_UF = 0;
systime++;
if(systime == 10) {
fast_f=1;
systime=0;
arp_timer++;
if(arp_timer==100) {
arp_flag=1;
arp_timer=0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -