1UIP1港币等于多少人民币币

From Wikipedia, the free encyclopedia
The uIP is an
implementation of the
network protocol stack intended for use with tiny 8- and 16-bit . It was initially developed by
of the "Networked Embedded Systems" group at the , licensed under a BSD style license, and further developed by a wide group of developers.
uIP can be very useful in
because it requires very small amounts of code and RAM. It has been ported to several platforms, including
platforms.
In October 2008, , , and
announced a fully compliant
extension to uIP, called uIPv6.
uIP makes many unusual design choices in order to reduce the resources it requires. uIP's native software interface is designed for small computer systems with no operating system. It can be called in a timed loop, and the call manages all the retries and other network behavior. The hardware driver is called after uIP is called. uIP builds the packet, and then the driver sends it, and optionally receives a response.
It is normal for IP protocol stack software to keep many copies of different IP packets, for transmission, reception and to keep copies in case they need to be resent. uIP is economical in its use of memory because it uses only one packet buffer. First, it uses the packet buffer in a half-duplex way, using it in turn for transmission and reception. Also, when uIP needs to retransmit a packet, it calls the application code in a way that requests for the previous data to be reproduced.
Another oddity is how uIP manages connections. Most IP implementations have one task per connection, and the task communicates with a task in a distant computer on the other end of the connection. In uIP, no multitasking operating system is assumed. Connections are held in an array. On each call, uIP tries to serve a connection, making a subroutine call to application code that responds to, or sends data. The size of the connection array is a number that can be adjusted when uIP is recompiled.
uIP is fully compliant with the
that define ,
and . It also implements the mandatory maintenance protocol .
uIP 0.9 is the version with the least dependence on operating systems, the smallest resource use, and the only version that presents a pure event loop , but in its original form does not support IP version 6, only the older, more common IPv4. It may be used in
with very small amounts of resources.
It was delivered with a set of examples of higher-level protocols that also run on an event loop system, including
(a simple web server),
(simple mail transmission protocol),
(file transfer protocol),
(terminal emulation), and others. Despite the examples and its small size, uIP 0.9 can be difficult to apply because it does not use any form of socket .
uIP is widely used code with well-known weaknesses. The design minimizes and separates 32-bit arithmetic so that it can be adjusted or optimized for 8 and 16-bit CPUs. Also, 16-bit software timers (common on small microcontrollers) can
and cause defective operation. This can be fixed with a timer system that does not overflow (e.g. the timers count down or use ).
Another issue is that its single packet buffer can have substantial throughput problems because a PC host usually delays the "ACK" packet, waiting for more packets. In slow,
implementations, the ack-throughput can be fixed by modifying uIP to send every packet as two half-packet fragments. uIP systems with fast
can modify the hardware driver to send every packet twice.
Some PCs do not correctly respond to a fast uIP system on a local ethernet, because the uIP system can start a responding packet before the PC is ready to receive it.[ – ] The solution is to call the uIP system less frequently in the main loop (Windows PCs are designed for a response time of about 1 millisecond). Typical implementations of uIP have a fixed IP address, which can make them impractical in real networks, although some have implemented .
Later versions of uIP, including the reference version of uIPv6, are integrated with , an operating system that uses
for cooperative multitasking. Contiki provides the multitasking needed by a simplified socket , simplifying the use of uIP. These versions may be less popular than 0.9 however. Many examples of embedded code do not use them.
Metzinger, Zach (March 25, 2008). . Maxim Integrated Products, Inc 2015.
(PDF). Cyan Technology Ltd. January 28, 2008. Archived from
(PDF) on February 18, .
Curtis, Paul. . Rowley Associates Limited 2015.
. Cisco. October 14, .
Dunkels, Adam. . uIP tagged releases on
See Dunkel's original web site, above, on the wayback machine.
Dunkel provided sample code for DHCP.
Metzinger, above
Code-Red examples, above.
: Hidden categories:uip1.0主动断开有关问题 - 单片机当前位置:& &&&uip1.0主动断开有关问题uip1.0主动断开有关问题www.MyException.Cn&&网友分享于:&&浏览:257次uip1.0主动断开问题现在是使用uip1.0协议栈中的uip_close()主动断开客户端连接没反应,也就是客户端收不到断开消息,我的断开处理是在uip_len = enc28j60_packet_receive(uip_buf, UIP_BUFSIZE );if (uip_len & 0){
& if(DATABUF-&type == htons(UIP_ETHTYPE_IP))&
uip_arp_ipin(); &
uip_input(); &
if(uip_len & 0) &
uip_arp_out(); &
enc28j60_packet_send(uip_buf, uip_len);
& else if(DATABUF-&type == htons(UIP_ETHTYPE_ARP)) & {
uip_arp_arpin(); &
if(uip_len & 0)&
enc28j60_packet_send(uip_buf, uip_len); & }}& else{//在这里处理断开连接,加了心跳的断开处理,但是断开没任何反应客户端仍然可以发送数据及UIP可以收取数据,希望大家能帮下忙解决,在这先谢谢大家。
& }------解决方案--------------------接收到数据了 只是数据不正确 看一下配置C/C++ code/*********************************************
* vim:sw=8:ts=8:si:et
* To use the above modeline in vim you must have &set modeline& in your .vimrc
* Author: Guido Socher
* Copyright: GPL V2
* Ethernet remote device and sensor
* Title: Microchip ENC28J60 Ethernet Interface Driver
* Chip type
: ATMEGA88 with ENC28J60
*********************************************/
#include &avr/io.h&
#include &ip_arp_udp.h&
#include &enc28j60.h&
#include &timeout.h&
#include &avr_compat.h&
#include &net.h&
#include &stdlib.h&
// please modify the following two lines. mac and ip have to be unique
// in your local area network. You can not have the same numbers in
// two devices:
static uint8_t mymac[6] = {0x13,0x33,0x37,0x71,0x77,0x20};
static uint8_t myip[4] = {192,168,1,10};
static uint16_t myport =1200; // listen port for udp
// how did I get the mac addr? Translate the first 3 numbers into ascii is: TUX
#define BUTTON_PORT PORTD
#define BUTTON_PIN PIND
#define BUTTON_BIT PD2
#define BUFFER_SIZE 250
static uint8_t buf[BUFFER_SIZE+1];
int main(void){
uint8_t i=0;
uint8_t payloadlen=0;
char message[100]={'/','e','l','l','o',0,0,0,',',0,0};
// set the clock speed to 8MHz
// set the clock prescaler. First write CLKPCE to enable setting of clock the
// next four instructions.
CLKPR=(1&&CLKPCE);
CLKPR=0; // 8 MHZ
/* enable PB0, reset as output */
DDRB|= (1&&DDB0);
/* set output to gnd, reset the ethernet chip */
PORTB &= ~(1&&PB0);
delay_ms(20);
/* set output to Vcc, reset inactive */
PORTB|= (1&&PB0);
delay_ms(100);
/* enable PB1, LED as output */
DDRB|= (1&&DDB1);
/* set output to Vcc, LED off */
PORTB|= (1&&PB1);
//Enable pullup on pin D
PORTD|= (1&&PD0);
/*initialize enc28j60*/
enc28j60Init(mymac);
delay_ms(20);
/* Magjack leds configuration, see enc28j60 datasheet, page 11 */
// LEDB=yellow LEDA=green
// 0x476 is PHLCON LEDA=links status, LEDB=receive/transmit
// enc28j60PhyWrite(PHLCON,0b11 01 10);
enc28j60PhyWrite(PHLCON,0x476);
delay_ms(20);
/* set output to GND, red LED on */
PORTB &= ~(1&&PB1);
//init the ethernet/ip layer:
init_ip_arp_udp(mymac,myip);
// get the next new packet:
plen = enc28j60PacketReceive(BUFFER_SIZE, buf);
/*plen will be unequal to zero if there is a valid
* packet (without crc error) */
if(plen==0){
// arp is broadcast if unknown but a host may also
// verify the mac address by sending it to
// a unicast address.
if(eth_type_is_arp_and_my_ip(buf,plen)){
make_arp_answer_from_request(buf,plen);
// check if ip packets (icmp or udp) are for us:
if(eth_type_is_ip_and_my_ip(buf,plen)==0){
/* set output to Vcc, LED off */
PORTB|= (1&&PB1);
/* set output to GND, LED on */
PORTB &= ~(1&&PB1);
if(buf[IP_PROTO_P]==IP_PROTO_ICMP_V && buf[ICMP_TYPE_P]==ICMP_TYPE_ECHOREQUEST_V){
// a ping packet, let's send pong
make_echo_reply_from_request(buf,plen);
if (buf[IP_PROTO_P]==IP_PROTO_UDP_V){
payloadlen=buf[UDP_LEN_L_P]-UDP_HEADER_LEN;
if (buf[UDP_DATA_P]=='t' && payloadlen==12){
//itoa(buf,message,10);
if (bit_is_clear(PIND,PD0)){
make_udp_reply_from_request(buf,message,16,myport);
delay_ms(50);
while(bit_is_clear(PIND,PD0))
delay_ms(50);
return (0);
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有&>&uip-1.0-refman
uip-1.0-refman
上传大小:1.36MB
uip1.0的英文使用指南.这真的没什么好说明
综合评分:4(8位用户评分)
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有3条
在源码包中已经有了。还是谢谢分享。
正在学习使用,只是英语还在消化中
非常有用,正在学习使用uip.
综合评分:
积分/C币:3
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
uip-1.0-refman
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
(仅够下载10个资源)
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
uip-1.0-refmanuip-1.0-refman.pdf
扫描二维码,下载文件到手机
相关文档推荐
当前文件信息
浏览:925次
下载:94次
您的VIP会员已过期,是否续费?
用户应遵守著作权法,尊重著作权人合法权益,不违法上传、存储并分享他人作品。举报邮箱:
京网文[0号 京ICP证100780号

我要回帖

更多关于 1美金等于多少人民币 的文章

 

随机推荐