亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lwip.c

?? uCOSII_lwip_lpc1768
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/****************************************Copyright (c)****************************************************
**                                      
**                                 http://www.powermcu.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name:               LWIP.c
** Descriptions:            None
**
**--------------------------------------------------------------------------------------------------------
** Created by:              AVRman
** Created date:            2011-3-10
** Version:                 v1.0
** Descriptions:            The original version
**
**--------------------------------------------------------------------------------------------------------
** Modified by:             
** Modified date:           
** Version:                 
** Descriptions:            
**
*********************************************************************************************************/

/* Includes ------------------------------------------------------------------*/
#include "lwip/memp.h"
#include "lwIP.h"
#include "lwIP/tcp.h"
#include "lwIP/udp.h"
#include "lwIP/tcpip.h"
#include "netif/etharp.h"
#include "lwIP/dhcp.h"
#include "ethernetif.h"
#include "arch/sys_arch.h"
#include <includes.h>


#ifdef __GNUC__
  /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
     set to 'Yes') calls __io_putchar() */
  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */

/* Private variables ---------------------------------------------------------*/
struct netif _netif;
static uint32_t IPaddress = 0;

/* Global Rx Buffer data */
uint8_t __attribute__ ((aligned (4))) gRxBuf[EMAC_MAX_PACKET_SIZE];
uint8_t __attribute__ ((aligned (4))) gTxBuf[EMAC_MAX_PACKET_SIZE];

/* Private function prototypes -----------------------------------------------*/
static void list_if                (void);
static void TcpipInitDone          (void *arg);
static void USART_Configuration    (void);


/*******************************************************************************
* Function Name  : ENET_IRQHandler
* Description    : Ethernet service routine handler
* Input          : None
* Output         : None
* Return         : None
* Attention		 : None
*******************************************************************************/
void ENET_IRQHandler (void)
{
	/* EMAC Ethernet Controller Interrupt function. */
	uint32_t int_stat;
	/* Get EMAC interrupt status */
	while ((int_stat = (LPC_EMAC->IntStatus & LPC_EMAC->IntEnable)) != 0) {
		/* Clear interrupt status */
		LPC_EMAC->IntClear = int_stat;
		/* scan interrupt status source */

		/* ---------- receive overrun ------------*/
		if((int_stat & EMAC_INT_RX_OVERRUN))
		{
			//RXOverrunCount++;
			//printf("Rx overrun \r\n");
		}

		/*-----------  receive error -------------*/
		/* Note:
		 * The EMAC doesn't distinguish the frame type and frame length,
		 * so, e.g. when the IP(0x8000) or ARP(0x0806) packets are received,
		 * it compares the frame type with the max length and gives the
		 * "Range" error. In fact, this bit is not an error indication,
		 * but simply a statement by the chip regarding the status of
		 * the received frame
		 */
		if ((int_stat & EMAC_INT_RX_ERR))
		{
			if (EMAC_CheckReceiveDataStatus(EMAC_RINFO_RANGE_ERR) == RESET)
			{
				//RXErrorCount++;
				//printf("Rx error: \r\n");
			}
		}

		/* ---------- RX Finished Process Descriptors ----------*/
		if ((int_stat & EMAC_INT_RX_FIN))
		{
			//RxFinishedCount++;
			//printf("Rx finish \r\n");
		}

		/* ---------- Receive Done -----------------------------*/
		/* Note: All packets are greater than (TX_PACKET_SIZE + 4)
		 * will be ignore!
		 */
		if ((int_stat & EMAC_INT_RX_DONE))
		{
		    extern OS_EVENT* ethernetinput;
			/* a frame has been received */
	        OSSemPost(ethernetinput);	  
			//RxDoneCount++;
			//printf("Rx done \r\n");
		}

		/*------------------- Transmit Underrun -----------------------*/
		if ((int_stat & EMAC_INT_TX_UNDERRUN))
		{
			//TXUnderrunCount++;
			//printf("Tx under-run \r\n");
		}

		/*------------------- Transmit Error --------------------------*/
		if ((int_stat & EMAC_INT_TX_ERR))
		{
			//TXErrorCount++;
			//printf("Tx error \r\n");
		}

		/* ----------------- TX Finished Process Descriptors ----------*/
		if ((int_stat & EMAC_INT_TX_FIN))
		{
			//TxFinishedCount++;
			//printf("Tx finish \r\n");
		}

		/* ----------------- Transmit Done ----------------------------*/
		if ((int_stat & EMAC_INT_TX_DONE))
		{
			//TxDoneCount++;
			//printf("Tx done \r\n");
		}
	}
}

/*******************************************************************************
* Function Name  : list_if
* Description    : display ip address in serial port debug windows
* Input          : None
* Output         : None
* Return         : None
* Attention		 : None
*******************************************************************************/
static void list_if(void)
{
    USART_Configuration();
    printf("Default network interface: %c%c \r\n", _netif.name[0], _netif.name[1]);
    printf("ip address: %s \r\n", inet_ntoa(*((struct in_addr*)&(_netif.ip_addr))));
    printf("gw address: %s \r\n", inet_ntoa(*((struct in_addr*)&(_netif.gw))));
    printf("net mask  : %s \r\n", inet_ntoa(*((struct in_addr*)&(_netif.netmask))));
}

/*******************************************************************************
* Function Name  : TcpipInitDone
* Description    : TcpipInitDone wait for tcpip init being done
* Input          : - arg: the semaphore to be signaled
* Output         : None
* Return         : None
* Attention		 : None
*******************************************************************************/
static void TcpipInitDone(void *arg)
{
    sys_sem_t *sem;
    sem = arg;
    sys_sem_signal(*sem);
}

/*******************************************************************************
* Function Name  : USART_Configuration
* Description    : Configure USART2 
* Input          : None
* Output         : None
* Return         : None
* Attention		 : None
*******************************************************************************/
static void USART_Configuration(void)
{ 
    uint32_t  Fdiv;
	PINSEL_CFG_Type PinCfg;
	/*
	 * Initialize UART2 pin connect
	 */
	PinCfg.Funcnum = 1;
	PinCfg.OpenDrain = 0;
	PinCfg.Pinmode = 0;
	PinCfg.Portnum = 0;
	PinCfg.Pinnum = 10;
	PINSEL_ConfigPin(&PinCfg);
	PinCfg.Pinnum = 11;
	PINSEL_ConfigPin(&PinCfg);

	/* Initialize UART Configuration parameter structure to default state:
	 * Baudrate = 115200bps
	 * 8 data bit
	 * 1 Stop bit
	 * None parity
	 */
	LPC_SC->PCONP = LPC_SC->PCONP|(1<<24);	  /* UART2 Power bit */

    LPC_UART2->LCR = 0x83;		              /* 8 bits, no Parity, 1 Stop bit */

    #define FOSC    12000000                  /* 振蕩器頻率 */

    #define FCCLK   (FOSC  * 8)               /* 主時(shí)鐘頻率<=100Mhz FOSC的整數(shù)倍 */

    #define FPCLK   (FCCLK / 4)               /* 外設(shè)時(shí)鐘頻率 FCCLK的1/2 1/4 */

	Fdiv = ( FPCLK / 16 ) / 115200 ;	      /*baud rate */

    LPC_UART2->DLM = Fdiv / 256;							
    LPC_UART2->DLL = Fdiv % 256;
    LPC_UART2->LCR = 0x03;		              /* DLAB = 0 */
    LPC_UART2->FCR = 0x07;		              /* Enable and reset TX and RX FIFO. */
}

/*******************************************************************************
* Function Name  : Ethernet_Initialize
* Description    : Ethernet Initialize function
* Input          : None
* Output         : None
* Return         : None
* Attention		 : None
*******************************************************************************/
void Ethernet_Initialize(void)
{	 
	/* EMAC configuration type */
	EMAC_CFG_Type Emac_Config;
	/* pin configuration */
	PINSEL_CFG_Type PinCfg;
	/* EMAC address */
	uint8_t EMACAddr[] = {emacETHADDR0, emacETHADDR1, emacETHADDR2, \
						emacETHADDR3, emacETHADDR4, emacETHADDR5};
	uint32_t i;
	/*
	 * Enable P1 Ethernet Pins:
	 * P1.0 - ENET_TXD0
	 * P1.1 - ENET_TXD1

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人综合网| 一二三四社区欧美黄| 国产一区二区网址| 久久久99久久| 成人免费高清在线观看| 亚洲人成伊人成综合网小说| 一本久道久久综合中文字幕 | 欧美一级爆毛片| 麻豆精品一区二区av白丝在线| 日韩欧美一级二级三级久久久| 国内久久精品视频| 中文字幕一区二区三区在线不卡 | 欧美又粗又大又爽| 日本欧美在线看| 久久精品人人做人人综合| 99久久精品国产导航| 亚洲一二三级电影| 欧美mv日韩mv国产| www.成人在线| 青青草原综合久久大伊人精品 | 久久精品国产精品亚洲综合| 中文字幕精品综合| 欧美日本一道本| 国产精品综合二区| 亚洲国产一区二区视频| 欧美xxxx在线观看| 在线观看亚洲a| 久久av资源站| 一区二区久久久久| 国产午夜精品福利| 欧美日韩国产成人在线免费| 国产乱码精品一区二区三区忘忧草 | 久久蜜臀精品av| 欧美性做爰猛烈叫床潮| 激情文学综合网| 亚洲一区二区三区四区在线观看 | 欧美日韩一区二区电影| 经典三级一区二区| 亚洲精品国产精华液| 精品国产精品网麻豆系列| 色先锋aa成人| 国产精品白丝jk黑袜喷水| 亚洲国产毛片aaaaa无费看| 久久久久久一二三区| 欧美日韩一区二区三区四区 | 91色乱码一区二区三区| 精品一区二区三区蜜桃| 亚洲韩国精品一区| 成人免费小视频| 国产日韩欧美激情| 日韩欧美国产三级| 欧美日韩一区二区三区高清| 99精品视频一区| 成人午夜大片免费观看| 国产在线播精品第三| 免费在线观看一区二区三区| 亚洲国产欧美在线| 亚洲欧美日韩电影| 18欧美乱大交hd1984| 国产肉丝袜一区二区| www国产成人| 日韩视频在线观看一区二区| 欧美日韩免费电影| 精品视频在线免费观看| 欧洲av在线精品| 91高清在线观看| 色综合久久66| 欧美在线啊v一区| 欧洲精品在线观看| 欧美性大战久久久久久久蜜臀| www.日韩av| 91视频国产资源| 91啪九色porn原创视频在线观看| 成人aa视频在线观看| 成人精品视频.| 成人av动漫网站| 色天天综合久久久久综合片| 91在线高清观看| 欧美午夜精品理论片a级按摩| 色综合久久久久网| 91精品办公室少妇高潮对白| 在线看国产一区| 欧美日韩亚洲综合在线| 欧美一区二区三区喷汁尤物| 91精品国产综合久久福利软件 | 日韩精品中文字幕在线不卡尤物| 在线综合+亚洲+欧美中文字幕| 欧美美女一区二区| 日韩欧美在线一区二区三区| 26uuu久久天堂性欧美| 国产无一区二区| 国产精品护士白丝一区av| 亚洲三级小视频| 亚洲国产人成综合网站| 日本视频免费一区| 国产米奇在线777精品观看| 不卡的看片网站| 在线观看区一区二| 日韩欧美一级精品久久| 中文字幕欧美三区| 有码一区二区三区| 麻豆免费看一区二区三区| 国产福利一区二区三区| 日本高清成人免费播放| 91精品欧美综合在线观看最新| 久久夜色精品一区| 自拍偷拍欧美精品| 日本欧美一区二区| 国产99久久精品| 欧美二区乱c少妇| 久久久久久久久伊人| 一区二区三区欧美在线观看| 免费一区二区视频| 91蝌蚪porny九色| 日韩欧美三级在线| 亚洲欧美国产77777| 蜜臀av国产精品久久久久| 成av人片一区二区| 91精品国产91久久久久久最新毛片| 欧美激情艳妇裸体舞| 无码av免费一区二区三区试看 | 欧美老肥妇做.爰bbww视频| 精品国内片67194| 亚洲婷婷在线视频| 美女尤物国产一区| 欧美色图一区二区三区| 国产日产欧美一区二区三区| 亚洲第一成年网| 成人黄色a**站在线观看| 日韩美女视频在线| 亚洲综合视频网| 不卡一卡二卡三乱码免费网站| 7777精品伊人久久久大香线蕉经典版下载 | 性久久久久久久久久久久| 国产黄色成人av| 日韩欧美国产一区二区三区| 亚洲一区二区成人在线观看| 丁香六月久久综合狠狠色| 精品久久久久久无| 香蕉久久夜色精品国产使用方法 | 色综合天天狠狠| 国产视频一区二区在线| 久久精品72免费观看| 欧美日韩国产一二三| 综合网在线视频| 成人国产一区二区三区精品| 精品欧美乱码久久久久久| 水蜜桃久久夜色精品一区的特点 | 欧美高清视频在线高清观看mv色露露十八 | 欧美综合在线视频| 亚洲视频一二区| 懂色av一区二区三区免费观看| 精品人在线二区三区| 老司机精品视频在线| 在线不卡中文字幕播放| 亚洲一区二区三区三| 欧美伊人精品成人久久综合97| 中文字幕综合网| 99国产精品99久久久久久| 国产精品不卡在线观看| 白白色亚洲国产精品| 国产精品视频看| 成人a区在线观看| 国产精品高潮久久久久无| av在线这里只有精品| 18涩涩午夜精品.www| 91久久精品一区二区| 亚洲成人精品一区二区| 欧美区在线观看| 免费国产亚洲视频| 日韩你懂的在线播放| 国产一区二区三区美女| 久久九九国产精品| 成人a级免费电影| 亚洲欧美国产77777| 欧美日韩一本到| 日本sm残虐另类| www精品美女久久久tv| 成人性生交大片免费看中文网站| 欧美国产激情一区二区三区蜜月| av在线综合网| 亚洲va欧美va天堂v国产综合| 欧美一级日韩免费不卡| 国产在线一区二区| 国产精品欧美久久久久一区二区| 91丝袜高跟美女视频| 婷婷中文字幕综合| 精品国产三级电影在线观看| 国产成人av电影在线| 亚洲麻豆国产自偷在线| 欧美高清你懂得| 国产乱人伦精品一区二区在线观看| 国产精品麻豆99久久久久久| 91麻豆福利精品推荐| 轻轻草成人在线| 国产亚洲精品精华液| 色婷婷综合久久久久中文| 日韩电影在线免费| 国产精品无遮挡| 欧美伦理电影网|