时间飞逝,大一暑假就快结束了。
回顾大一暑假,主要干了两件事:
1->
参加了辽宁省"TI"杯大学生电子设计大赛。已完成,得了辽宁省二等奖 。 电赛总结已经完成部分放在CSDN网站的博客了我的大一暑假——2014"TI"杯全国大学生电子竞赛总结(一)
2->
参加由电信院白老师主持的与阜新弗兰特科技公司的一个合作教育,我的小组主要负责数据通过有线和无线的方式传输,按照要求得开学前完成。目前还未完全完成,无线部分已完成;有线部分还在赶工中,现在主要的任务是:按照白老师要求把原来的以太网例程改成不把数据向网页上传,而是直接建立一个数据通道,给出一个入口和一个出口.入口数据的获得和出口数据的显示由其他组负责。现在面临的问题是:按照http服务器原理——主要是以下四个过程:连接过程,请求过程,应答过程,关闭过程 。
1.连接过程就是Web服务器和其浏览器之间所建立起来的一种连接。查看连接过程是否实现,用户可以找到和打开socket这个虚拟文件,这个文件的建立意味着连接过程这一步骤已经成功建立。
2.请求过程就是Web的浏览器运用socket这个文件向其服务器而提出各种请求。
3.应答过程就是运用HTTP协议把在请求过程中所提出来的请求传输到Web的服务器,进而实施任务处理,然后运用HTTP协议把任务处理的结果传输到Web的浏览器,同时在Web的浏览器上面展示上述所请求之界面。
4.关闭连接就是当上一个步骤--应答过程完成以后,Web服务器和其浏览器之间断开连接之过程。
建立HTTP sever的代码为:
void HTTPServer(void)
{
if (SocketStatus & SOCK_CONNECTED) // check if somebody has connected to our TCP
{
if (SocketStatus & SOCK_DATA_AVAILABLE) // check if remote TCP sent data
TCPReleaseRxBuffer(); // and throw it away
if (SocketStatus & SOCK_TX_BUF_RELEASED) // check if buffer is free for TX(检查缓冲区是不是空的)
{
if (!(HTTPStatus & HTTP_SEND_PAGE)) // init byte-counter and pointer to webside
{ // if called the 1st time
HTTPBytesToSend = sizeof(WebSide) - 1; // get HTML length, ignore trailing zero
PWebSide = (unsigned char *)WebSide; // pointer to HTML-code
}
if (HTTPBytesToSend > MAX_TCP_TX_DATA_SIZE) // transmit a segment of MAX_SIZE
{
if (!(HTTPStatus & HTTP_SEND_PAGE)) // 1st time, include HTTP-header
{
memcpy(TCP_TX_BUF, GetResponse, sizeof(GetResponse) - 1);
memcpy(TCP_TX_BUF + sizeof(GetResponse) - 1, PWebSide, MAX_TCP_TX_DATA_SIZE - sizeof(GetResponse) + 1);
HTTPBytesToSend -= MAX_TCP_TX_DATA_SIZE - sizeof(GetResponse) + 1;
PWebSide += MAX_TCP_TX_DATA_SIZE - sizeof(GetResponse) + 1;
}
else
{
memcpy(TCP_TX_BUF, PWebSide, MAX_TCP_TX_DATA_SIZE);
HTTPBytesToSend -= MAX_TCP_TX_DATA_SIZE;
PWebSide += MAX_TCP_TX_DATA_SIZE;
}
TCPTxDataCount = MAX_TCP_TX_DATA_SIZE; // bytes to xfer
InsertDynamicValues(); // exchange some strings..
TCPTransmitTxBuffer(); // xfer buffer
}
else if (HTTPBytesToSend) // transmit leftover bytes
{
memcpy(TCP_TX_BUF, PWebSide, HTTPBytesToSend);
TCPTxDataCount = HTTPBytesToSend; // bytes to xfer
InsertDynamicValues(); // exchange some strings...
TCPTransmitTxBuffer(); // send last segment
TCPClose(); // and close connection
HTTPBytesToSend = 0; // all data sent
}
HTTPStatus |= HTTP_SEND_PAGE; // ok, 1st loop executed
}
}
else
HTTPStatus &= ~HTTP_SEND_PAGE; // reset help-flag if not connected
}
现在在这个项目面临的主要问题是:如果不是通过网页的形式来接收数据,那么根据原理,在连接上web服务器,传完数据最后会关闭连接,这就解释了为什么修改了lpc1768的easyweb例程并且下载进入LPC1768后,使用TCP/UDP测试工具发现传完数据后断开连接,只能依靠手动不停地点击连接键,而使用网页显示却不会出现这种情况。
网页显示数据
因此问题是出在哪个地方有一点疏漏违背了原理,比如是程序哪些地方有问题,或者是未能连续发数据的原因,还是原本方向就是错的,即靠HTTP server只能用来显示网页数据,抑或http(超文本传输协议)未能完全吃透,纠结。。。。。啊啊啊,还有几天,拼吧,快点完工吧!!!!!!!!!!!!!!!!!!!!!!!!!!!!
几点计划:
1.锻炼,身体是革命的本钱。一个暑假的饮食和睡眠无规律把身体搞得有点垮了。早晨起床后,重新捡起坚持了快一年却在暑假断了的晨跑,上知乎多多了解正确的跑步姿势以及方法,配合《囚徒健身》这本书,依照里面的步骤把走了型的身体给练回去,练回力量和毅力,有可能的话,参加今年秋季校运会的3000和5000米比赛,做到比去年比赛的自己要好。
2.学习,不停地充电。
<1>即将到来一个非常重要的考试--计算机二级考试,要专注,不要到处找相关电子书,找到一本精华就把它吃透再说,当然不要忘记编程重在实践。不要忘记这次电子设计大赛给自己教训:不要好高骛远,不要轻视一些简单的算法,真正到了比赛的时候,看似复杂的需求其实都可以分解成一个个小的需求,而一个个小的需求是靠一个个简单的算法实现的。因此复杂需求的解决是靠一个个简单算法堆叠出来的。自己的基础还是不够,特别是指针部分,得好好再看看书。基础完成后就可以向C中高级迈进了,好好利用CSDN的自测部分。
<2>不要为了学而学,先要有疑问,然后带着问题,带着项目去看书,分专题去学习,看书不要贪多,关键是理清作者的论点和论据,关注作者如何得出结论的。目前的几个问题:1.如何高效学习(感觉自己学习能力有待提高) 2 如何理财,了解商业运作模式(你不理财,财不理你,特别是现在是互联网时代)3. 如何面对每天大量的信息并且从中学习 (微信,微博,知乎,果壳网,第九阅览室太多干货了,却没静下心来) 4.如何科学,高效,客观,批判地思考,避免 盲目偏见。(太容易轻易下结论和相信别人是似而非的看法,对比最近罗永浩和王自如的论战结束后一些高手的评论,发现自己这方面太欠缺了)5.如何提高自己的数学素养,将数学思维根深蒂固。(这是个工程师必需品) 6.如何做一个优秀的人(如果我是女的,我一定不会嫁给自己,优点太少,缺点太多) 注:这些问题的优先级没具体规定,可以再添加问题,弄清问题,得出解决方法后好好总结,用博客写下来。
<3>社团及其他。好好准备云部落社团的对新人的培训,写好分给自己写的那部分的教程,关键还是自己得熟练,因此重新回去好好总结一下51单片机,不会的地方赶紧解决,不然会在大一面前出丑的,哈哈,教也是学。这个暑假本来打算学MSP430的,却去学了ARM lpc1768,而且学的也不是全面,下一步怎么走?是看需求吧,有什么需求再看学哪一个芯片,还有一种就是以学MSP430为主,LPC1768有时间再玩玩。这个没想清楚,额,前几天遇到张老师,问我是打算偏向科研方面还是竞赛方面,我竟然SB地回答:“还是先看看队友怎么想。” 想想自己是太糊涂了,太缺乏独立了。明年是飞思卡尔智能车最后一届了,并且明年是电子设计大赛国赛而且结合自己研究能力不怎么行,比赛更有趣味,以后还是偏向竞赛方面吧。
说了这么多,主要是让自己理理思绪,理理过去,理理未来。过去已经过去了,还是要面对未来的。计划如果不执行,就永远是计划。关键还是要自律自控。有人说:你如果想要很大的成就,你就会遇到很大的困难和挫折;你如果想要一般的生活,你就会遇到一般的问题和挑战。路已经选好,前面的风景就由不得你了。
乔布斯年轻时每天凌晨四点起床,九点半前把一天工作做完。他说:自由从何而来?从自信来,而自信则是从自律来!克制自己,用严格的日程表控制生活,才能在这种自律中不断磨练出自信。自信是对事情的控制能力,如果你连最基本的时间都做控制不了,还谈什么自信?希望自己能严格地遵守自己的日程表,就像许三多那样,像个傻子般坚持。就像自己以前每天跑步一样,刚开始时有点不适应,坚持跑了10多天后,一切都变成很自然的事情了,而且一天不跑步就不爽,哈哈。
最后附上塞缪尔的青春,希望自己不要辜负青春。
《青春》 塞缪尔.厄尔曼
青春不是年华,而是心境;青春不是桃面、丹唇、柔膝,而是深沉的意志、恢宏的想像、炽热的感情;青春是生命的深泉涌流。
青春气贯长虹,勇锐盖过弱,进取压倒苟安。如此锐气,二十后生有之,六旬男子则更多见。年岁有加,并非垂老;理想丢弃,方堕暮年。
岁月悠悠,衰微只及肌肤;热忱抛却,颓唐必致灵魂。忧烦、惶恐、丧失自信,定使心灵扭曲,意气如灰。
无论年届花甲,抑或二八芳龄,心中皆有生命之欢乐,奇迹之诱惑,孩童般天真久盛不衰。
人的心灵应如浩淼翰海,只有不断接纳美好、希望、欢乐、勇气和力量的百川,才能青春永驻、风华长存。
一旦心海枯竭,锐气便被冰雪覆盖,玩世不恭、自暴自弃油然而生,即便年方二十,实已策垂垂老矣;然则只要虚怀若谷,让喜悦、达观、仁爱充盈其间,你就有望在八十高龄告别尘寰时仍觉年轻。
打赏作者