TI CC2530 学习笔记-1-NewBit-CC2530-IO-LED

TI CC2530 学习笔记-目录

TI CC2530 学习笔记-1-NewBit-CC2530-IO-LED

驱动LED只需要IO口能输出高低电平就可以,要做呼吸灯的话需要用到PWM,这里不做介绍;要让CC2530的IO能输出高电平或者低电平需要配置两个寄存器:PxSEL 和 PxDIR;至于LED是高电平亮还是低电平亮取决于外围电路。

寄存器 PxSEL:其中 x 为端口的标号 0~2,用来设置端口的每个引脚为通用 I/O 或者是外部设备 I/O 信号 。
作为缺省的情况,每当复位之后,所有的数字输入/输出引脚都设置为通用输入引脚。

寄存器 PxDIR:在任何时候,要改变一个端口引脚的方向,就使用寄存器 PxDIR 来设置每个端口引脚为输入或输出。因此只要设置 PxDIR 中的指定位为 1,其对应的引脚口就被设置为输出了。

  1. 配置CC2530时钟频率为外部32MHz石英晶振
CLKCONCMD &= ~0x47;   //选择外部32MHZ时钟, 不分频
while( (CLKCONSTA & 0x47) != 0x00 ); //切换时钟源后再次等待稳定
  1. 配置3个LED对应IO口为输出模式配置3个LED对应IO口为输出模式
//PxSEL寄存器默认是通用 I/O,所以不用配置
P0DIR |= 0xC0;  //配置P06、P07为输出
P2DIR |= 0x02;  //配置P21为输出
  1. 点亮LED
P0_6 = LED_ACTIVE;//高电平,点亮LED
P0_7 = LED_ACTIVE;//高电平,点亮LED
P2_1 = LED_ACTIVE;//高电平,点亮LED
  1. main函数代码
void main( void )
{
  halMcuWaitUs(10000);  //等待时间稳定,约10ms
  CLKCONCMD &= ~0x47;   //选择外部32MHZ时钟, 不分频
  while( (CLKCONSTA & 0x47) != 0x00 ); //切换时钟源后再次等待稳定
  
  P0DIR |= 0xC0;  //配置IO为输出
  P2DIR |= 0x02;  //配置IO为输出
  P0_6 = LED_ACTIVE;//高电平,点亮LED
  P0_7 = LED_ACTIVE;//高电平,点亮LED
  P2_1 = LED_ACTIVE;//高电平,点亮LED
  while(1)
  {
    halMcuWaitUs(50000);//50000微妙等于50毫秒
    halMcuWaitUs(50000);
    halMcuWaitUs(50000);
    halMcuWaitUs(50000);
    halMcuWaitUs(50000);
    halMcuWaitUs(50000);
    halMcuWaitUs(50000);
    halMcuWaitUs(50000);
    halMcuWaitUs(50000);
    P0_6 = !P0_6;  //高低电平变换
    P0_7 = !P0_7;  
    P2_1 = !P2_1;
  }
}
  1. 代码:NewBit-ZDK CC2530 基础例程

你可能感兴趣的:(CC2530,CC2530)