自定义博客皮肤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的专栏

啦啦啦

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

原创 关于宏

我在学C语言的时候是知道有宏这个东西的,但当时并没有把它放在心上。直到后来接触单片机时,才渐渐发现了宏的威力。关于宏,有一下几点需要说明。1.宏的书写需要用大写这不是硬性要求,但是是一个通用的准则。这是为了和变量,函数等声明区分开来。算是使用宏的第一准则(我刚开始根本不知道这些)2.程序中的各种定义尽量用宏比如写单片机程序,我们经常将跟硬件有关的定义写成宏。比如 #de

2011-12-27 20:36:11 953

原创 指针,其实很危险

我们知道,指针是指向一个地址的。而指针的类型则表明了指针指向内容的大小,即包含字节数,这在对于指针的自增和自减中体现的很明确。比如下面一段代码,我们分别定义了3个不同类型的指针,指向相同的地址,然后赋予不同的值。这样一下我们就明了了。//解释代码char *p_char;short *p_short;long *p_long;p_char = (char*)0x100

2011-12-26 10:37:27 1713

原创 综合作业:LPC2103做个PWM音乐播放器

老师已经把ARM7的课给我们上完了,最后布置了四个综合作业让我们做。其中有PWM音乐播放器,电子密码锁,数字钟,PID温控器。我最终决定做音乐播放器,因为电子密码锁和数字钟以前都做过,而PID温控器硬件貌似有点复杂。而音乐播放器则感觉很有趣。先写篇日志在这里,做出来后在这里分享下经验。今天圣诞节,25日,在实验室呆着。做播放器遇到的第一个问题就是如何在FLASH中保存音频文件,网上查资

2011-12-24 19:49:02 2333 1

原创 关于int

在进行单片机编程时,我们经常用Int定义变量。以前学C语言时,我知道int它表示的位数跟具体的硬件结构有关。不过看了一本书中“慎用int”这节后,我对int又有了更一步的认识。原来C语言并没有进一步明确不同硬件平台下int位宽由硬件平台决定这一点,从而导致了对int不同的理解。实际上int并没有具体的位宽限制,是由所用硬件平台(MCU)和编译器共同决定位宽为多少,通常情况下编译器会将int的位

2011-12-24 11:34:22 936

原创 关于变量类型与代码效率

最近又看到一本好书《删繁就简——单片机入门到精通》,里面讲的很多都是我不知道的或者没有注意的。单片机处理与它等位宽的数据时是最快的。让8位单片机和32位单片机去处理一个32位的数据自然是32位的单片机快。另外在文中,还给出了一个例子,关于数据的复制,有两段代码。一个是没有经过优化的代码,另一个是考虑到不同处理器不同位宽的代码。//代码一:void Copy_TestFunc(char

2011-12-24 10:52:18 1187 2

原创 LPC2103学习之看门狗

晚上的时候,接着学习了LPC2103的看门狗。看门狗的概述:看门狗包括一个4分频的预分频器和一个32位计数器,时钟通过预分频器输入定时器,定时器递减(与其他的定时器有区别哦)。定时器递减的最小值为0XFF,也就是如果你设置一个小于0xFF的值的话,系统装入定时器的也将会是0XFF。所以看门狗的最小间隔为(Tpclk x 4 x256),最大间隔为(Tpclk x 2的32次方 x

2011-12-20 21:14:59 3089 2

原创 LPC2103学习之PLL

很久没来博客了。一直忙考试了,不过一切都结束了,暂时可以继续做自己想做的事情了。今天来实验室继续玩ARM了,学习了2103的PLL部分。总的来说,还是比较简单。当然关于PLL这个硬件的具体实现我还不是很清楚,当初高频没学好喃。。PLL的概述:PLL它本来接收的输入时钟频率范围仅为10MHz~25MHz,然后可以通过一个振荡器(CCO)倍增到范围10MHz~70MHz。倍频器可以是1

2011-12-20 19:29:22 2317 1

原创 学写嵌入式系统(一) 环境搭建

郁闷的一天,参考《一步步写嵌入式操作系统》这本书来实现第一节环境的搭建,可事实并不是一帆风顺。早上安装Cygwin,因为校园网的问题,安了有些时间。安装完后开始配置交叉编译环境armgcc,然后按照书上一步一步做,可是爆出一大堆关于汇编的错误,网上搜了半天没找出原因。最终值得放弃这个蛋疼的cygwin,用虚拟机的Linux。然后又是一晚上,期间遇到各种问题,最终排除万难,一一解决,一天总算有点成果

2011-12-10 23:38:28 6233 6

原创 LPC2103学习之定时器0和定时器1

这两天学习LPC2103的定时器。开始看前面的寄存器介绍看的有点头晕,一会儿就搞混了。不过当我看到后面用图片描述定时器相关寄存器操作时,一下就明了了。知道应用再看原理后比较明了。  为什么把这两个定时器放到一起,因为它们都是32位的定时器,它们除了外设基地址不同外,其他都相同。说说这两个定时器的特性1.两个32位定时器定时器/计数器各含有一个可编程的32位预分频器;2.计数器或

2011-12-06 20:01:35 9598 1

原创 LPC2103学习之外部中断

今天下午学习了LPC2103的外部中断,相对来说比较简单。只是几个寄存器的操作。 LPC2103有三个外部中断源。分别是外部中断0(EINT0),外部中断1(EINT1),外部中断2(EINT2)。另外LPC2103的10个捕获输入也可以作为外部中断输入,跟外部中断不同之处就是不能将掉电模式下的CPU唤醒。下面的图展示了LPC2103的外部中断系统的结构,看到这个结构,对寄存器的操作一

2011-12-04 16:00:50 3490

原创 LPC2103学习之GPIO

不写作业写博客 直接切入正题 LPC2103关于引脚的寄存器有两个PINSEL0与PINSEL1,都是32位宽度。 PINSEL0与PINSEL1寄存器的每两位控制一个引脚的功能,则一个脚最多有4种功能。其中PINSEL0控制着P0.0到P0.15的引脚。PINSEL1控制着P0.16到P0.31的引脚。 PINSEL寄存器的设置只需两个步骤。一找到要设置的引脚。二

2011-12-02 22:10:13 5708 4

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

Make game with Python & Pygame

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

2012-09-20

空空如也

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

TA关注的人

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