2014年4月8日

CC2530开发板基础实验(5)—— JoyStick

CC2530上有一个5向(上\下\左\右\中心)摇杆(Joystick)。而5个方向的输入并不是靠5个独立的IO口,而是用ADC采集P0_6口的电压值来判断的。这样做的好处是可以节省4个IO口。对摇杆的方向采集同样有轮询和中断两种方式,在ZigBee协议栈中使用的是轮询方式。我在试过两种方式后发现采用中断的效果并不好,想必这也是TI在协议栈中使用轮询的原因。这个问题先不展开,先来看看如何采集摇杆的方向。

2014年3月29日

CC2530基础实验(4) —— UART及温度传感器

UART是串口的一种异步通信方式(同步方式为SPI)。CC2530有UART0和UART1两个端口可用于串口通信,两个端口功能完全相同,可独立工作。

2014年3月22日

CC2530基础实验(3)—— 定时器

CC2530上共有T1~T4,4个定时器,另外还有诸如系统定时器、睡眠定时器、看门狗定时器等等。在不同的电源模式下可以使用不同速率的振荡器。晶振的精度高、能耗高、启动慢;RC振荡器的精度更低一些,能耗低,启动快。需要注意的是在射频传输时必须使用32M的晶振,而在要求低功耗又对精度要求不高的场景下可以使用RC振荡器。默认情况下,使用Active / Idel模式,32M晶振,振荡器速率为16M。

2014年3月20日

CC2530开发板基础实验(2)—— 按键的轮询及中断

我的开发板上只有一个按键S2和一个5向Joystick。Joystick涉及到ADC,暂时不去弄了。对于按键的处理可以采用两种方式:轮询和中断。轮询是一种低效的方式,CPU不断的访问每一个可能产生输入信号的管脚,如果有信号输入,那就做出相应的处理,否则访问下一个输入管脚。而中断方式则类似于C#里的事件绑定、Java里的观察者模式,当输入管脚、时钟等产生一个中断信号,CPU会中止当前正在处理的事务,转去执行中断源的程序。待处理完中断再继续之前中止的事务。这里我用的是“类似”,即它并不是一种多线程模式,如果在执行中断源的响应程序的过程中,又有新的中断,那么后产生中断会等待当前中断源的响应程序执行完毕才会执行。这个等待队列也是有限的,似乎只能容纳一个等待的中断源。

2014年3月11日

CC2530开发板基础实验(1)—— LED

LED的操作是最为基础的实验,但我在实验过程中仍然遇到了很多问题,而这些问题是不那么容易在网上找到解答的。本篇仅讨论代码,关于IDE的配置将在另外的文章中叙述。

首先,你需要正确的、与开发板配套的电路原理图,没有它,你会走很多弯路,极大地打击像我这样的连单片机都没玩过的新手。而我从导师手里拿到的就是CC2430的原理图,上面几乎所有的管脚的标注都是错误的。而你使用的板子未必跟我用的一样,下文出现的各个端口、管脚都需要根据你手头的原理图做适当的修改才能正确的运行起来。跟下面将列举需要注意的问题。

2014年3月9日

其来有自的音乐库(8)

总是刷那么几个网页也没意思,来更新博客吧。今天的主要内容是3部炼金术士的OST以及一些新增且乱入到前面序列的专辑。

2014年2月28日

其来有自的音乐库(7)

好久没更新博客了,隔壁邓大师自开博以来基本上都是1月2篇,真是比不了。我发现这个系列不太好写,主要是音乐库时不时地更新会打乱原来的专辑排序,这样就会有一些新的专辑插到以前写过的专辑中间。

2013年12月5日

HTML5 <video>标签在不同浏览器中的表现

<video>是HTML5新增的一个标签,它使得用户可以在浏览器中,不借助任何第三方插件就可以播放服务器上的视频。同时,与<video>类似地,<audio>标签也可以在浏览器中直接播放音频。

2013年11月3日

使用i-jetty架设服务器及部署程序中的若干问题

由于索尼悄悄地在我的PS+会员到期后自动帮我续费,因此觉得不把《重力眩晕》白金了真是白白浪费一个月的会员费。1号深夜终于拿到了白金。随后而来的问题是:在我校恶劣的网络条件下,如何快速地向朋友们得瑟。

2013年11月1日

其来有自的音乐库(6)

今天暂且算是闲下来,填填坑。最近各种结课,各种写论文和看文献,真是令人烦躁。