简介:第一次写博客,希望对自己学过的东西做一些及积累。对于CC2530这个芯片只算浅浅地了解。主要是下学期会学习无线网络这门课程,所以算是预习一下。(这篇博客是写给自己的,只要自己看得懂就行。如果有什么错误可以指正。)
任务一:点亮一个LED灯
任务分析:
zigbee开发板上应该是引脚接通高电平LED灯才会亮。所以就转化成让P1_0输出高电平。
知识补充:配置IO口
cc2530有21个IO引脚,这些引脚分别是两个功能(PxSEL):通用数字IO口、外设IO信号。两个方向(PxDIR):输入、输出。
注:控制21个引脚功能的寄存器是8位PxSEL寄存器;控制引脚方向的寄存器是8位PxDIR寄存器。两个寄存器的编程方式如下
PxSEL(默认0x00)即:0000 0000 | PxSEL(x为0、1、2,对应P0,P1,P2) |
---|---|
7:0 | 0:设为通用;1设为外设 |
PxDIR | |
---|---|
7:0 | 0:设为输入;1:设为输出 |
以本题为例:
需将P_0口设置功能为通用,方向为输出(高电平)。
so,P0口:0000 0000,将第一位0置零其余位不变。置零用&~运算,其原理是将目标位置零其余位不变。所以:
P0SEL &=~0X01(0000 0001);
同理:P1_0方向:
P0DIR |=0X01;
由此IO口寄存器配置完成。
源码`:
#include <iocc2530.h>
#define LED1 P1_0
void InitLed()
{
P1DIR |=0X01;
P1SEL &=~0X01;
LED1=0;
}
void main()
{
InitLed();
while(1)
{
LED1=1;
}
}