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以及一些新增且乱入到前面序列的专辑。