自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sugar的专栏

啦啦啦

  • 博客(202)
  • 资源 (10)
  • 收藏
  • 关注

原创 CodeCombat-命令下属

this.moveXY(49, 66);this.moveXY(60, 63);this.moveXY(75, 63);this.say("Hail, friends!");// Saying anything with "follow" in it will get nearby soldiers// to follow youthis.say("Follow me!");thi

2014-03-09 11:22:20 2321

原创 CodeCombat-胆怯的辱骂

this.moveXY(50, 16);this.say("Hey!");//this.moveXY(63, 20);this.moveXY(70, 10);// This is a safe spot.this.say("I can lure them in here."); // Run your soldier out where the ogres can hear yo

2014-03-09 10:57:49 1606 1

原创 CodeCombat-辱骂

this.say("Hey!");this.say("Oh");this.say("SB");this.say("Come to die");// Lure the ogre right into your arrow trap// by saying a few more things at him.// Anything works!游戏截图:

2014-03-09 10:44:47 2864

原创 CodeCombat-是个陷阱

// Taunt the Ogre and run for cover!this.moveDown();this.moveDown();this.say("Hey,there!");this.moveUp();this.say("Attack!");this.moveUp();游戏截图:

2014-03-09 10:37:44 31070 4

原创 CodeCombat-辱骂警卫

this.moveRight();this.bustDownDoor();// Delete the "//" in front of each line below.this.moveRight();this.say("Hey there!");this.moveLeft();this.moveLeft();this.say("Attack!");// Now get Pho

2014-03-09 10:05:18 2668

原创 CodeCombat-把我喝掉

this.moveRight();this.attackNearbyEnemy();this.moveRight();this.moveDown();this.moveUp();this.moveRight();this.attackNearbyEnemy();游戏截图:

2014-03-09 00:57:50 1127

原创 CodeCombat-捡蘑菇

this.moveUp();this.moveRight();this.moveLeft();';';this.moveUp();this.attackNearbyEnemy();游戏截图:

2014-03-09 00:33:33 1167

原创 CodeCombat-救援任务

// This is your code controlling Tharin!this.moveDown();this.moveDown();this.moveRight(); this.moveUp();// Edit it anywhere you like, add comments like thesethis.moveUp();this.moveRight();

2014-03-09 00:25:07 1453

原创 CodeCombat无法保存游戏进度的说明

最近玩CodeCombat的时候,遇到游戏无法保存进度的问题。在官网论坛搜索了下,发现已经有提到问题。官方给出的回答是现在还是没那么完善,后续会逐步完善。现在能做到的就是如果你注册了帐号,用此帐号玩游戏的话,那么会保存游戏代码,但进度不会保存。而且貌似还要在同一台电脑上才行。下面是官方论坛给出的关于不能保存游戏进度说明。看来目前就只有一关一关来了,很是麻烦啊。。希望尽快完善好。所以目前把每关代码复

2014-03-09 00:20:20 2324 1

原创 linux下的PDF阅读软件

每次用Linux时,看PDF的话要在window下看,这样切换很麻烦。于是想找一个Linux下的PDF阅读软件,但是看了些都不怎么样。最后发现一个Foxit reader for linux 1.1 。这个是几年前的了,一直没有更新,不过用着还不错。网上搜一搜就能下到了,官方网站上也有。下载后为bz2的文件。需要解压: tar -jxvf  xxxxxx解压后文件里面有个FoxitRead

2013-06-26 15:16:00 3007

原创 CC2530遇到的低功耗问题

程序又出现BUG,终端采集到的温度值始终是第一次。调试发现是低功耗模式那里有问题。进入函数屏蔽掉低功耗函数问题依旧。这是为什么呢? 又去看了相关文档关于低功耗部分的文档。最后看看程序,发现BUG居然又是寄存器设置的问题,老板程序有一部分让我迷惑,屏蔽掉了果然就好了。 //设置为输入上拉,防止浮空引脚,减少电流消耗及不确定状态 P0SEL = 0x00; P0DIR = 0x00; P

2013-05-21 16:49:09 7019 3

原创 int表示范围大小

今天写程序时,给一个int值赋值0xffff,结果程序没有实现自己的效果。单步调试后发现问题,再结合IAR 帮助文档,原来是因为在IAR for 8051中编译器默认int为16位。则最大值32767。最小值-32767.你赋值0xffff的话,超过了最大范围,等于-1。

2013-05-20 20:56:15 9161

原创 遇到的一个关于功能IO口的问题

昨天编写程序的时候,要使用一个按键作为返回功能,这个按键是P0_4,然而我发现按下此按键时没有作用。调试发现读出此IO口的电平值一直是0.一直被拉低了。开始以为是硬件问题,查了下也没有问题。继续查程序。最后才发现是端口功能设置的问题。开始老板的程序对P0这样赋值的P0SEL|=0X3C,这样的话,用到了P0_4,P0_5作为UART的硬件流控制,改为P0SEL|=0x0C,问题就解决了。取消掉

2013-05-18 10:51:24 1047

原创 使用IAR的扩展语言特性编写可复用的代码

IAR语言扩展特性里有个##value##这种扩展语言特性,主要用于宏的实现。其中#号中间的value就是你传递进去的值。可以用来提高代码复用性。在编写CC2530的Timer3与Timer4时就可以使用。因为这两个8位定时器特性基本一致。下面是实现通用的Timer3与Timer4头文件实现,用一个头文件可以实现Timer3或Timer4操作。#ifndef _TIMER34_H#d

2013-05-12 20:12:26 1087

原创 使用IAR开发CC2530遇到的两个问题

首先说明,IAR for 8051为7.51版本,操作系统为windows7 32位。上手CC2530,在IDE的使用上就遇到了2个问题。一个是用SmartRF Programmer Flash下载HEX文件不成功,提示说could not open hex。这个问题在TI的论坛里找到解决办法。原来工程配置的问题。linker选项中,Output标签里面进行

2013-05-11 14:03:51 5198

原创 uip中关于web服务器的简单例子

这是官方文档中的例子代码,以此了解一下uip处理web server是怎么样的。struct example5_state{ char *dataptr; unsigned int dataleft;}void example5_init(void){ uip_listen(HTONS(80)); uip_listen(HTONS(81));}v

2013-05-06 11:02:11 2101

原创 STM32在定时器中控制步进电机

写WEB程序的时候,发现如果加上步进电机控制的话,就会出现问题。原因是如果把电机控制放在uip循环中处理的话,因为控制电机涉及到时间问题。所以必须解决,想到的方法就是多任务的思想。把步进电机的处理放在定时器中断里面。这样的话就能避免问题了。顺便学习了库函数操作定时器。这里用到的定时器功能简单,只需要产生更新中断。下面是定时器初始化代码//定时器3初始化//arr:定时重装值//ps

2013-05-04 14:05:12 11332 4

原创 STM32用IO口控制步进电机的简单程序

练习IO口库函数操作。//相序uint16_t phasecw[4] ={0x2000,0x0001,0x0004,0x0008};// D-C-B-Auint16_t phaseccw[4]={0x0008,0x0004,0x0001,0x2000};// A-B-C-D //步进电机相关IO口初始化// IN4: PC13// IN3: PC0// IN2:

2013-05-03 20:01:14 17373

原创 毕业设计之路(9)-ucosi操作系统移植到STM32

这个工作主要是根据网友的经验资料来学习移植的。总的来说需要下面几个参考资料。ARM Cortex-m3权威指南官方移植文档资料网友移植成功经验资料这三种资料在我的资源上传里面都能找到。我在官网上下的是官方已经移植好的到STM32F103评估板的资料,很多部分已经实现了,所以需要改动的地方很少,不同的地方可以参考第三种网友移植成功经验资料,里面有详细说明。我下的是ucosii2.

2013-05-02 12:38:41 1840

原创 毕业设计之路(8)_HTML

做这个毕业设计需要用到HTML,自己来编写一个简单的网页界面。所以这两天看了下HTML相关知识,还是很好理解。也发现了一个学习WEB知识很好的网站。http://www.w3schools.com是国外的一个网站。不过链接很快,且有多种语言支持。不过看英文比较好,都是比较简单的英文。就是这个网址里我学习了HTML的相关知识。下面是从网站中转过来的HTML快速一览。HTML Basi

2013-04-21 20:55:48 1681

原创 毕业设计之路(7)-HTTP协议简单说明

这个是网上看到的资料,粘贴如下。总算大致理解了HTTP协议这个过程。 HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立

2013-04-16 15:20:07 1211

原创 毕业设计之路(6)——uip

很久没有来博客了。心情也不好,但是毕业设计还是要继续的。跟老师商量改了毕业设计的要求,MCU换了,TCP/IP协议栈也换了,换成STM32与UIP了。换的原因很蛋疼,之前的那个跟我用的WIN7兼容性很差,很多软件出问题,所以放弃了。先从uip看起,版本1.0,貌似很久没有更新,这是最新的版本了吧。看看uip英文资料开始学习,还是为了防止忘记,顺便为毕业论文准备,所以记下一些学习内容。

2013-04-08 22:07:59 3511 1

原创 递归求解字符串长度

今天看了个有意思的程序,用递归就能求解字符串长度。然后自己敲敲代码试试看。#include #include #include #define MAXSIZE 50int mystrlen(const char *strDest){ assert(NULL != strDest); //assert宏入口检测 if('\0' == *strDest)

2012-12-28 21:29:59 2691

原创 ADS1.2环境下新建一个ARM9工程

ADS1.2的安装和新建工程就不用说明了。关键的是根据ARM9所做的具体设置。下面截图说面流程。点击圈中的DebugRel Settings进行DebugRel 选项下的工程设置。在target settings设置Post-linker表示连接后生成ELF镜像文件。

2012-12-27 22:57:49 2497

原创 数据结构学习(十五)——冒泡排序

在前篇的选择排序中,n个数据最多进行n-1次交换,但每次交换前要进行大量比较操作来确定交换对象,比较次数远大于交换次数。而交换操作只是数据的读写,数据规模较小时,其工作量比比较工作量小。用增加交换的次数来减少比较次数有可能是合理的,所以冒泡排序的好处是以交换为主要手段。如果排序对象基本有序时,冒泡排序算法将具有较高的效率。这是因为冒泡排序中有个标志变量是用于提前终止排序的,也即排序可以半途终止。

2012-12-25 20:25:18 844

原创 数据结构学习(十四)——选择排序

前篇的插入排序算法,为了给插入元素空出位置,经常要后移腾出位置而进行大量后移操作,如果是移动数据元素规模大的话,就会耗时降低效率。插入排序操作特点:先确定排序对象,再确定插入位置。选择排序操作特点:先确定排序位置,再确定排序对象。选择排序大概流程就是从第一个元素开始,然后与后面的元素依次比较大小,比当前元素小的话就记下当前最小位置,继续比较,直到这轮比较完毕,这样就可以找出这一轮最小的

2012-12-25 14:59:08 697

原创 数据结构学习(十三)——插入排序

插入排序是简单排序的一种,其主要是对少量数据进行排序处理,大量数据时没有优势。插入排序就像打扑克,摸起一张牌看到然后按照手里的牌的顺序位置将此牌再插入到适当位置。是一种先确定数据,再确定位置的排序算法。与选择排序算法不同。下面的代码实现了插入排序的简单练习。#include #define MAXSIZE 50int *Insert_sort(int *s, int n);

2012-12-24 18:06:02 652

转载 SDRAM工作原理

SDRAM的工作原理  SDRAM之所以成为DRARM就是因为它要不断进行刷新(Refresh)才能保留住数据,因此它是DRAM最重要的操作。那么要隔多长时间重复一次刷新,目前公认的标准是,存储体中电容的数据有效保存期上限是64ms(毫秒,1/1000秒),也就是说每一行刷新的循环周期是64ms。这样刷新速度就是:行数量/64ms。我们在看内存规格时,经常会看到4096 Refresh C

2012-12-18 17:08:29 1080

原创 S3C2440的内存管理

SDRAM对自己来说是个新东西,所以读起来并不轻松。这个RAM的分类有SRAM和DRAM,分别是静态RAM和动态RAM,两个的内部构造不一样,可以百度一下。而SDRAM则是同步的动态RAM,同步的好处就是与处理器控制匹配,操作起来就容易多。下面看看S3C2440的内存控制是怎么样的,下面截图是一个概述。S3C2440的内存图根据是否由NAND FLASH来启动有不同区别,下图展示了24

2012-12-18 17:02:49 2347

原创 KEIL中为自己的关键字着色

KEIL中有个功能,可以为自定义的关键字着色,这样看起来就比较明显,不然就是默认黑色,看着很不爽。比如:typedef unsigned char u8我们为unsigned char 类型定义了别名,然后如果想让它像C语言默认关键字那样显示颜色的话,我们可以如下设置。第一步:第二步:这样自己的关键字也可以显示颜色了,看起来就比较舒服了。

2012-12-17 22:47:34 11227 1

原创 ARM9的裸奔(一)——GPIO的输入与输出

S3C2440A有九组IO口,共130个。每组IO口数目不同,其中A组口只有输出功能。截图如下:关于对IO口的操作,就主要设计到3个寄存器。GPXCON(配置),GPXUP(上拉使能),GPXDAT(数据)。其中GPXCON配置IO寄存器中每两位控制1个IO口。00表示输入,01表示输出,10表示第三功能,11保留。对数据寄存器GPXDAT的操作则是相应位写1高电平,写0低电平。上

2012-12-17 20:02:15 4626

原创 KEIL+JLINK+Small2440下的SDRAM调试配置

本人机子WIN7,装ADS很蛋疼,首先要在兼容模式下使用,看着很不爽。这还算了,用JLINK居然有问题。无奈放弃ADS,但是用ADS开发的资料多啊。最后选择用KEIL,网上搜了下资料,发现还是有前人这么做,于是鼓捣鼓捣,按照他们的方法弄,可就是不成功。最后还是自己折腾半会儿才弄好(可能是跟他们的版本或者JLINK版本不一样的原因吧)。写出来,免得以后又忘了。。。这种东西要贴图:

2012-12-17 11:10:50 3115

原创 好看的一本历史小说《大秦帝国》啊

最近看《大秦帝国》这本历史小说,真是太好看了。佩服作者的写作功力。想说赞美之词都觉得词穷了啊。总之,就是,赞,赞,赞!!!但是现在自己看的是电子版,以后一定要买一套收藏。每夜都会看,不看睡不着觉啊,这就是好看的小说的魅力吧。

2012-12-16 22:48:09 3822

原创 linux进程创建常用函数

获取进程ID#include #include pid_t getpid(void)//获取本进程IDpid_t getppid(void)//获取父进程ID创建子进程#includepid_t fork(void)//功能:创建子进程//fork调用一次,却返回两次,有三种不同的返回值//1.父进程中,fork返回新创建的子进程的PID//2.子进程中,f

2012-12-12 21:53:42 5943

原创 linux时间编程常用函数

首先说明时间类型分为两种:Coordinated Universal Time(UTC):世界标准时间,也就是格林威治时间(Greenwich Mean Time, GMT)Calendar Time:日历时间,从一个标准时间点(如:1970年1月1日0点)到此时经过的秒数来表示的时间。时间获取#include time_t time//功能:获取日历时间,从1970年1

2012-12-12 14:00:46 999

原创 被fread的返回值整了

刚才编一个关于用C库函数实现的文件复制操作的代码时发生错误。错误的根本是想当然的以为fread函数的用法,对其理解不深刻。后来在网友帮助下才发现错误。其实函数的用法可以通过Linux中的man来获得帮助。比如fread.在终端键入man 3 fread 这是会出现下面的东西:NAME fread, fwrite - binary stream input/ou

2012-12-11 23:14:58 26934

原创 C的文件操作——常用库函数

创建和打开FILE *fopen(const char *filename, const char *mode)//filename:打开的文件名(包含路径,缺省为当前路径)//mode: 打开模式常见打开方式r,rb 只读方式打开w,wb 只写方式打开,如果文件不存在,则创建该文件a,ab 追加方式打开,如果文件不存在,则创建该文件r+, r+b, rb+ 读写方式打开

2012-12-11 19:58:24 1821

原创 数据结构学习(十二)——哈夫曼树

从书上摘抄过来。哈夫曼树是二叉树的一个应用实例,它是一种变长码。它的出现是为了提高数据存储和数据通信的效率,通常对数据进行压缩编码,对降低系统成本和功耗方面有意义。对哈夫曼树的使用需要注意些地方。在变长码中,概率高的成员使用短的代码,这是提高效率的保证。为了译码不出现混乱,每个短代码都不能成为其他长代码的开头。这一点在译码树上表现为:译码结果必须为树叶,每片树叶不能成为其他树叶

2012-12-11 16:58:19 810

原创 数据结构学习(十一)——二叉树的操作

关于树的定义,从书上摘抄点过来。树是n(>=0)个结点的有限集,在这个结点集合中,存在一下关系:树中存在唯一的一个结点无前趋,这个结点称为树根除了除根结点外,其他每个结点都有且仅有一个直接前趋树中每个结点都可以有多个后继,无后继的结点成为树叶二叉树的定义:有一个特定的称为根的结点根结点以外的其余结点分别由两棵互不相交的称为左子树和右子树的二叉树组成。满二叉树

2012-12-10 15:26:59 981

原创 从第二个函数NVIC_PriorityGroupConfig()中了解Cortex-M3的中断

在第一个函数SystemInit()的下一行,会有常见的另一个函数NVIC_PriorityGroupConfig(NVIC_PriorityGroup_X)(X代表数字1,2,3...)。此函数跟中断配置相关,配置中断优先级,包括抢占优先级与子优先级。关于NVIC(中断向量控制器)的介绍STM32参考手册中是找不到的。需要看《Cortex-M3权威指南》,这本书是着重描述此M3内核相关的东西

2012-12-06 19:55:40 12635

Cortex-M0技术参考手册

Cortex-M0技术参考手册吗,详细介绍了其M0内核相关东西,包括中断,内核等核心东西,对M0编程很有参考价值。

2015-07-10

8位机游戏源文件

当你开发了8位机模拟程序后,就可以用这里面的游戏源文件进行测试,这个源文件一共包含20多个8位机游戏。

2015-07-03

Love for Lua Game Programming

Lua也可以进行游戏开发,Lua也有自己的游戏引擎Love。此文档正是教如何利用Love引擎制作Lua的游戏。

2015-06-22

30天自制操作系统光盘

30天自制操作系统光盘,里面有二进制编辑器,还有所有源代码

2014-05-03

网友成功移植ucos到STM32上的详解过程

这是网友成功移植的资料,可以参考学习,配合官方文档和cortex-m3权威指南学习。

2013-04-22

ucosii官方移植参考文档

这是移植ucosii到STM32上的官方文档,里面写的很详细。可以对照cortex-m3权威指南来看。

2013-04-22

Make game with Python & Pygame

讲述了用Python和Pygame模块共同开发游戏。

2012-09-20

EasyARM2103教材

包含了对ARM2103各资源模块的介绍使用,并配有例子。

2011-12-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除