摘要: 每人通过抽签选择一道题,独立编程完成题目的要求,原则上不查看之前所写的程序,但能查芯片手册以及电路图,程序要有良好的编程风格(包括变量函数的命名规则、代码的对齐方式、合适的注释等)。给出一上午的时间进行编程,若有空余的时间可以试着编写其他题,下午验收,验收时首先执行程序,然后再讲解工作原理、程序逻辑等。希望你们能借这次机会测验一下这一个星期的成果。参考题目:(1)加强版流水灯实验。如下为拨码开关的电路图,要求使用PM2/PM3/PT0/PT1来初始化四个LED灯的初始状态,再每隔1s流动一次。当PT3有上升沿触发时(可以通过拨动拨码开关来获得:关->开),停止流水。当PT2有下降沿触发时 阅读全文
posted @ 2011-07-29 07:10 hazir 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 要点难点: 串口通信的原理、设置波特率、接收中断、发送word型数据、串口助手的使用主要步骤: 1.设置波特率 2.设置数据帧的格式 3.编写发送函数(判断发送寄存器空时,才能将数据写到数据寄存器中)-- 字节和字型的 4.查询式(判断接受寄存器是否为满)和中断式接受数据方法(开接受中断)实验一:设置波特率为115200,数据位8位,停止位1位,无奇偶校验位,每隔1.5s钟向上位机发送一个 任意的字节型数据和一个字型的数据。 实验二:同上的波特率和数据帧格式,上位机每向下位机发送一个数据,下位机接受到之后返回0xDD, 并将四个LED灯反转。 实验三:同上的波特率和数据帧格式,上位机向下位机发 阅读全文
posted @ 2011-07-25 11:09 hazir 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 给新一届实验室成员的培训计划,希望下届能弥补今年我们留下的遗憾吧....GPIO的使用(7.21):分别介绍普通IO口作为输入和输出功能的实现方式,完成以下实验:(1)流水灯实验:用摄像头组的实验板,电路中LED0-LED3分别连接到PORTB0--PORTB3引脚上,完成流水灯实验,即依次点亮一个LED灯,中间用一个延时,要求用尽可能多的方式实现。(2)拨码开关控制LED实验:实验板中有四个拨码开关分别接到PORTB4--PORTB7引脚上,用这四个拨码开关分别控制四个LED灯的亮灭。综合了端口的输入和输出功能。第一次实验,主要熟悉如何在CodeWarriorIDE下建工程、编辑、编译以及下 阅读全文
posted @ 2011-07-24 20:55 hazir 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 我是冲着校赛第一名的而来的,最后却跑了个倒数第一。没有太大失落,倒是有点遗憾,因为之前试车和最后的补赛,我的车子都是跑的差不多是最好成绩了。没有太在意校赛的成绩,我的目标还是即将到来的省赛和全国赛。这次比赛的成绩虽然不太理想,但是我还是很自信我的车子在工大摄像头组是最好的。也通过这次比赛,学到了很多,尤其是比赛流程和规则,总体上一个感觉——智能车比赛不仅仅比的是平时的积累,还有更重要的是比赛时的心理素质和比赛策略!比赛前两个星期:我的神经都处在高度紧张状态,成绩也有所提高。在我们实验室的赛道,由18s提高到14s,车子平稳性也有很大提高、处理虚线以及异常赛道也基本上给解决了。星期六下午:比赛前 阅读全文
posted @ 2011-05-23 14:04 hazir 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 对于初学Java的人来说,肯定是想亲手写个Java程序来看看,这也很符合程序员的心理,说再多重要性还不如自己动手写个程序看到效果的成就感高。那好,我们就开始写程序了。在写之前好像还有点东西没做吧,对了,就是必要的软件,例如之前我们写C++程序用的很多的是VC6.0等等。我们编辑程序用什么都无所谓,如果你要用记事本我也不反对,主要是程序的编译、执行需要哪些工具。在Java中,之前说过,分成两部分,首先得将源程序编译成字节码,再由Java虚拟机解释执行字节码。所以最重要的就是要有Java的编译器和解释器,这些我们在我们安装JDK的时候都包含了。JDK我们可以去官网上下载。很多书基本上第一章除了讲J 阅读全文
posted @ 2011-05-18 07:17 hazir 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 终于盼来了第一节JAVA课了!上面是今天上课之后,激动之情无以言表,在我的腾讯微博上发的一条微博。说实在的,等这一天等了快有两年了,学完C++之后,有了基本面向对象的概念,但由于Windows那种开发机制确实比较繁琐,学了一段时间MFC,也没去深究。后来听说Java编网络程序很强大,C#又可以编一些花哨的界面程序,当时想自学的,但由于各种因素给耽误了,其中有一点就是Java课学校会开的就没必要花时间提前花过多精力去学。但很尴尬的是,原本安排在大二下学期的Java课,在我们这届的教学计划中被推迟到大三下的后半学期了。学院给出的理由是,Java很重要,你们找工作的时候笔试、面试经常会考到,如果大二 阅读全文
posted @ 2011-05-10 23:41 hazir 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 进程是什么?程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行。这是这样的设计,大大提高了CPU的利用率。进程的出现让每个用户感觉到自己独享CPU,因此,进程就是为了在CPU上实现多道编程而提出的。有了进程为什么还要线程?进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率。很多人就不理解了,既然进 阅读全文
posted @ 2011-05-09 22:50 hazir 阅读(24988) 评论(8) 推荐(5) 编辑
摘要: 以前一本书一本书地看,看到一种新东西,那种兴奋劲是不能用语言来形容的,但随之就觉得自己已经学会了这项新技术,感觉比别人高了一截子。任何写在纸上的东西,都是作者的心得体会,而我们看了,可能因为以前你也遇到同样的问题没能解决,你感受会很深刻的;但是呢,如果没有亲自去实践过,是不可能有深刻的体会的。我看过的书确实很多很多,可事实却是,我认为自己学到的新技术仅仅浮于表面,没能真正理解其中的内在规律,自然也不能达到举一反三的效果。经过这几天写博的感受,才知道写博其实是件很费精力的事情,尤其是技术博客。我总结的写这种技术博客有三种类型:第一种是仅仅贴出自己的代码,或者记流水账似的记录自己今天所学到的技术。 阅读全文
posted @ 2011-05-08 23:53 hazir 阅读(1166) 评论(0) 推荐(1) 编辑
摘要: 前阵子去淘宝的暑期实习生去笔试,遇到这样一个题:要求一个数组连续下标和的最大值,数组的元素可正、可负、可为零,例如-2,5,3,-6,4,-8,6将返回8。这题嘛,是很经典的一道公司的笔试或者面试题了,也有各种解法,从算法分析上,时间复杂度也有很大差别,下面我就给出三种不同的解法,看完之后,你应该就知道如果你面试的时候遇到这样的题,你应该用哪种方法最能让考官满意。方法一:暴力枚举法此种方法最简单,我想应该也是每个人拿到题目想到的第一种解法了,学过一点编程的人都应该能编出此类程序。记sum[i..j]为数组中第i个元素到第j个元素的和(其中0<=i<j<=n-1),通过遍历所有 阅读全文
posted @ 2011-05-08 01:02 hazir 阅读(676) 评论(0) 推荐(0) 编辑
摘要: 计数排序的缺点很明显,需要额外的空间C来作为计数数组,虽然时间复杂度为O(n+k),但当输入序列里元素取值很大的时侯,如k=O(n2),时,此时时间复杂度已经达到n2数量级了,空间的消耗也是让人无法承受的。这里介绍一种另一种线性排序算法——基数排序,可以应对数值很大的情况。基数排序,即一个数位一个数位地进行排序,平常生活中我们经常使用的一种算法思想:如要对一个日期进行排序,日期中由年、月、日组成的,对于这个问题,我们经常使用的是先比较年份,如果相同再比较月份,如果还相同就比较日。同理,我们比较一组数,也可以采取这种思想。例如我们使用这种思想对下面四个数进行排序:123、312、245、531, 阅读全文
posted @ 2011-05-05 11:42 hazir 阅读(6734) 评论(0) 推荐(0) 编辑
摘要: 排序是算法与数据结构中最基本的一个模块,而我参加的两次笔试一次面试都在排序算法上有所体现,所以一开始我就从排序算法开始说起。排序算法真是太多了,各种排序怎样去选择呢?主要有几个衡量的指标:时间复杂度:主要有O(n2)、O(nlgn)以及线性的排序算法;空间复杂度:有些排序算法需要额外的辅助空间,而有些则能实现“原地排序”;稳定性:相同的元素在排序之前和排序之后相对位置是否有可能发生变化;适用条件:算法是否有些额外的限制条件。今天我先介绍一种线性的排序算法——计数排序(Counting Sort)。计数排序假设n个输入元素中的每一个都是介于0-k的整数,此处k为某个整数。计数排序顾名思义离不开计 阅读全文
posted @ 2011-05-04 10:51 hazir 阅读(1107) 评论(0) 推荐(0) 编辑
摘要: 开通了新的博客,也算是有个新的开始吧,以前的博客http://blog.csdn.net/hailinguoloveyou,因为讨厌那个ID,所以给废除了。而这个ID——hazir,是我根据我妹妹给我的建议改的,觉得简单易读寓意深刻,最重要目前为止还没有人使用。 我一直很喜欢逛CSDN,读到那些大牛们写的文章,都让我心潮澎湃!也幻想着哪天我也写自己的文章,让别人学习,接受别人的指教。和技术大牛的交流,必定是个令人愉快的。算法是我薄弱的环节,想想大一的时候就接触到ACM,那时由于编程能力确实太差,再加之没有专业的培训,导致我花了很多时间,却效果甚微。大二开始,那段时间,我可以每晚编程到凌晨一点. 阅读全文
posted @ 2011-05-03 11:13 hazir 阅读(192) 评论(0) 推荐(0) 编辑

一个代码可以创造一个世界,也可以毁灭一个世界!