資源簡介
lwip 2.1.2最新版

代碼片段和文件信息
void
eth_mac_irq()
{
??/*?Service?MAC?IRQ?here?*/
??/*?Allocate?pbuf?from?pool?(avoid?using?heap?in?interrupts)?*/
??struct?pbuf*?p?=?pbuf_alloc(PBUF_RAW?eth_data_count?PBUF_POOL);
??if(p?!=?NULL)?{
????/*?Copy?ethernet?frame?into?pbuf?*/
????pbuf_take(p?eth_data?eth_data_count);
????/*?Put?in?a?queue?which?is?processed?in?main?loop?*/
????if(!queue_try_put(&queue?p))?{
??????/*?queue?is?full?->?packet?loss?*/
??????pbuf_free(p);
????}
??}
}
static?err_t?
netif_output(struct?netif?*netif?struct?pbuf?*p)
{
??link_STATS_INC(link.xmit);
??/*?Update?SNMP?stats?(only?if?you?use?SNMP)?*/
??MIB2_STATS_NETIF_ADD(netif?ifoutoctets?p->tot_len);
??int?unicast?=?((p->payload[0]?&?0x01)?==?0);
??if?(unicast)?{
????MIB2_STATS_NETIF_INC(netif?ifoutucastpkts);
??}?else?{
????MIB2_STATS_NETIF_INC(netif?ifoutnucastpkts);
??}
??lock_interrupts();
??pbuf_copy_partial(p?mac_send_buffer?p->tot_len?0);
??/*?Start?MAC?transmit?here?*/
??unlock_interrupts();
??return?ERR_OK;
}
static?void?
netif_status_callback(struct?netif?*netif)
{
??printf(“netif?status?changed?%s\n“?ip4addr_ntoa(netif_ip4_addr(netif)));
}
static?err_t?
netif_init(struct?netif?*netif)
{
??netif->linkoutput?=?netif_output;
??netif->output?????=?etharp_output;
??netif->output_ip6?=?ethip6_output;
??netif->mtu????????=?ETHERNET_MTU;
??netif->flags??????=?NETIF_FLAG_BROADCAST?|?NETIF_FLAG_ETHARP?|?NETIF_FLAG_ETHERNET?|?NETIF_FLAG_IGMP?|?NETIF_FLAG_MLD6;
??MIB2_INIT_NETIF(netif?snmp_ifType_ethernet_csmacd?100000000);
??SMEMCPY(netif->hwaddr?your_mac_address_goes_here?ETH_HWADDR_LEN);
??netif->hwaddr_len?=?ETH_HWADDR_LEN;
??return?ERR_OK;
}
void?
main(void)
{
??struct?netif?netif;
??lwip_init();
??netif_add(&netif?IP4_ADDR_ANY?IP4_ADDR_ANY?IP4_ADDR_ANY?NULL?netif_init?netif_input);
??netif.name[0]?=?‘e‘;
??netif.name[1]?=?‘0‘;
??netif_create_ip6_linklocal_address(&netif?1);
??netif.ip6_autoconfig_enabled?=?1;
??netif_set_status_callback(&netif?netif_status_callback);
??netif_set_default(&netif);
??netif_set_up(&netif);
??
??/*?Start?DHCP?and?HTTPD?*/
??dhcp_start(&netif?);
??httpd_init();
??while(1)?{
????/*?Check?link?state?e.g.?via?MDIO?communication?with?PHY?*/
????if(link_state_changed())?{
??????if(link_is_up())?{
????????netif_set_link_up(&netif);
??????}?else?{
????????netif_set_link_down(&netif);
??????}
????}
????/*?Check?for?received?frames?feed?them?to?lwIP?*/
????lock_interrupts();
????struct?pbuf*?p?=?queue_try_get(&queue);
????unlock_interrupts();
????if(p?!=?NULL)?{
??????link_STATS_INC(link.recv);
?
??????/*?Update?SNMP?stats?(only?if?you?use?SNMP)?*/
??????MIB2_STATS_NETIF_ADD(netif?ifinoctets?p->tot_len);
??????int?unicast?=?((p->payload[0]?&?0x01)?==?0);
??????if?(unicast)?{
????????MIB2_STATS_NETIF_INC(netif?ifinucastpkts);
??????}?else?{
????????MIB2_STATS_NETIF_INC(netif?ifinnucastpkts);
??????}
??????if(netif.input(p?&netif)?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-08-14?10:30??lwip-2.1.2\
?????文件??????????11??2020-08-14?10:30??readme.txt
?????文件??????189696??2018-11-22?19:55??lwip-2.1.2\CHANGELOG
?????文件?????????783??2018-10-24?18:32??lwip-2.1.2\CMakeLists.txt
?????文件????????1644??2017-01-12?19:17??lwip-2.1.2\COPYING
?????目錄???????????0??2018-11-22?19:57??lwip-2.1.2\doc\
?????文件????????3051??2018-10-24?18:32??lwip-2.1.2\doc\contrib.txt
?????目錄???????????0??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\
?????文件??????????23??2017-01-12?19:17??lwip-2.1.2\doc\doxygen\generate.bat
?????文件??????????36??2017-01-12?19:17??lwip-2.1.2\doc\doxygen\generate.sh
?????文件??????113082??2018-11-22?19:47??lwip-2.1.2\doc\doxygen\lwip.Doxyfile
?????文件??????113114??2018-07-03?18:30??lwip-2.1.2\doc\doxygen\lwip.Doxyfile.cmake.in
?????文件???????17480??2018-10-24?18:32??lwip-2.1.2\doc\doxygen\main_page.h
?????目錄???????????0??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\
?????目錄???????????0??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\
?????文件???????17302??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp_8c.html
?????文件????????2082??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp_8c.js
?????文件???????17472??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp_8h.html
?????文件????????2100??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp_8h.js
?????文件????????6104??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp__alloc_8c.html
?????文件?????????211??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp__alloc_8c.js
?????文件????????7151??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp__priv_8h.html
?????文件?????????195??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp__priv_8h.js
?????文件???????14384??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp__proxyconnect_8c.html
?????文件?????????578??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp__proxyconnect_8c.js
?????文件???????12551??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp__proxyconnect_8h.html
?????文件?????????464??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp__proxyconnect_8h.js
?????文件????????6772??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp__tcp_8c.html
?????文件?????????112??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp__tcp_8c.js
?????文件????????6449??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp__tcp_8h.html
?????文件?????????112??2018-11-22?19:57??lwip-2.1.2\doc\doxygen\output\html\altcp__tcp_8h.js
............此處省略1845個文件信息
- 上一篇:對圖像的一維高斯濾波操作
- 下一篇:大華攝像頭二次開發web3.0控件開發包
評論
共有 條評論