• ZigBee开发(2)--基础实验LED


    CC2530 IO 口配置我们需要配置三个寄存器 P1SEL P1DIR P1INPIO 口功能如下表所示: (详细参考 CC2530 datasheet.pdf

    CC2530 datasheet.pdf 的链接https://pan.baidu.com/s/1nLjYI8LgqxPH6WHd_n1Szw

    * P1SEL (0:普通 IO 1:第二功能)
    * P1DIR (0:输入 1:输出 )
    * P1INP (0:上拉/下拉 1:三态

     1 #include<ioCC2530.h>
     2 #define LED1 P1_0    //定义P10口为LED1控制端
     3 #define LED2 P1_1    //定义P11口为LED2控制端
     4 #define LED3 P1_4    //定义P14口为LED3控制端
     5 
     6 void IO_Init(void)
     7 {
     8   P1SEL &= ~0x01;
     9   //P1DIR |= 0x01;     //P1_0定义为输出
    10   P1DIR |= 0x13;  //P10、P11、P14定义为输出
    11   LED1 = 1;       //点亮LED1
    12   P1INP &= ~0X13;     //打开下拉
    13 }
    14 
    15 void main(void)
    16 {   
    17     IO_Init();      //调用初始化程序
    18     LED1 = 0;       //点亮LED1
    19     LED2 = 0;       //点亮LED2
    20     LED3 = 0;       //点亮LED3
    21     while(1);
    22 }

     1 #include <ioCC2530.h>
     2 #define uint  unsigned int
     3 #define uchar unsigned char
     4 //定义控制灯的端口
     5 #define LED1 P1_0    //定义LED1为P10口控制
     6 #define LED2 P1_1    //定义LED2为P11口控制
     7 #define LED3 P1_4    //定义LED3为P14口控制
     8 //函数声明
     9 void Delay(uint);        //延时函数
    10 void InitIO(void);        //初始化LED控制IO口函数
    11 /****************************
    12 //延时
    13 *****************************/
    14 void Delay(uint n)
    15 {
    16     uint i;
    17     for(i = 0;i<n;i++);
    18         for(i = 0;i<n;i++);
    19         for(i = 0;i<n;i++);
    20         for(i = 0;i<n;i++);
    21         for(i = 0;i<n;i++);
    22 }
    23 /****************************
    24 //初始化IO口程序
    25 *****************************/
    26 void InitIO(void)
    27 {
    28     P1DIR |= 0x13;  //P10、P11、P14定义为输出
    29     LED1 = 1;
    30     LED2 = 1;
    31     LED3 = 1;       //LED灯初始化为关
    32 }
    33 /***************************
    34 //主函数
    35 ***************************/
    36 void main(void)
    37 {
    38     InitIO();        //初始化LED灯控制IO口    
    39     while(1)                //死循环
    40     {  
    41            LED1 = !LED1;           // LED1灯闪一次
    42            Delay(10000);           
    43            LED2 = !LED2;           // LED2灯闪一次
    44            Delay(10000);            
    45            LED3 = !LED3;           // LED3灯闪一次
    46            Delay(10000);
    47            
    48     }
    49 }

    这一段代码为流水灯的效果,我的这块底板上刚好有3个灯,就升级了一下实例代码

  • 相关阅读:
    odoo 错误 Resource interpreted as Stylesheet but transferred with MIME type application/x-css:
    Android架构师之路-架构到代码的演练
    Android架构师之路-架构师的决策
    EventBus
    Android架构师之路-UML图形思考
    Android架构师之路-oop
    EventBus
    java定义接口监听器详解
    INSTALL_FAILED_NO_MATCHING_ABIS
    android---NDK开发helloworld(jni)
  • 原文地址:https://www.cnblogs.com/tianxxl/p/9867035.html
Copyright © 2020-2023  润新知