实验前准备
CC2530就不多介绍了(因为我也介绍不出啥😶)。配合上TI的ZigBee协议栈——Z-Stack,可以提供了一个强大和完整的ZigBee 解决方案。后面会使用到Z-Stack协议栈来写几个小例子。
这里首先使用CC2530F256和IAR-9.30.1来实现基础实验的一些外设的使用。
其实只需要一个板子,我是在这买的https://m.tb.cn/h.4HZgo5M,提供的资料挺完善的。
代码及解析
直接上代码先,这个程序的作用在代码开头写的很清楚了。
#include <ioCC2530.h>
/********************
该示例的现象是下载代码后,按下按键KEY1会使LED1闪烁三次,按下按键KEY2会使LED2闪烁三次
由于48行更改了中断优先级
更改前在按下按键KEY1时在LED灯闪烁完毕前按下KEY2不会打断LED1的闪烁,会在LED1闪烁完毕后再闪烁三次
更改后在按下KEY1后LED1闪烁完毕前按下KEY2,会直接打断LED1闪烁,优先闪烁LED2,然后再闪烁剩下的LED1次数
********************/
//定义控制灯和按键的端口
#define LED1 P1_0 //定义LED1为P1_0口控制
#define LED2 P1_1 //定义LED2为P1_1口控制
#define KEY1 P0_1 //定义KEY1为P0_1口控制
#define KEY2 P2_0 //定义KEY2为P2_0口控制
//函数声明
void Delay(int n); //延时
void InitIO(void); //初始化LED控制IO口函数
void InitKEY(void); //初始化KEY控制IO口函数
//延时
void Delay(int n)
{
int i,j;
for(i