初学cc2530----first day
来源:互联网 发布:淘宝助理 定时上架 编辑:程序博客网 时间:2024/05/17 22:20
近期任务是看一些基本代码,熟悉语法,然后自己运用
- 套路
#include <ioCC2530.h>typedef unsigned char uchar;typedef unsigned int uint;
2 . 常用的延时函数
void DelayMS(uint msec){ uint i,j; for (i=0; i<msec; i++) for (j=0; j<530; j++);}
因为LED常用的有四个,而这四个定义
3 . 四个常用LED定义
void DelayMS(uint msec){ uint i,j; for (i=0; i<msec; i++) for (j=0; j<530; j++);}
定义进中断的开关
#define KEY1 P0_5 //定义P0.5口为S2控制端uchar KeyValue=0;
四个灯是亮还是灭
void LedOnOrOff(uchar mode){ LED1 = mode; LED2 = mode; LED3 = mode; LED4 = mode;}
设置灯相应的IO口
void InitLed(void){ P1DIR |= 0x13; //P1.0、P1.1、P1.4定义为输出 P0DIR |= 0x02; //P0.1定义为输出 LedOnOrOff(0); //使所有LED灯默认为熄灭状态}
我发现我看的资料上面这些东西设置全是分开的,这样子很方便诶,满满的都是套路
设置开关相应的IO口 采用中断方式
void InitKey(){ P0IEN |= 0x20; // P0.5 设置为中断方式 1:中断使能 PICTL |= 0x20; //下降沿触发 IEN1 |= 0x20; //允许P0口中断; P0IFG = 0x00; //初始化中断标志位 EA = 1; //打开中断}
中断处理函数
/***************************************************************************** 名 称: P0_ISR(void) 中断处理函数 * 描 述: #pragma vector = 中断向量,紧接着是中断处理程序****************************************************************************/#pragma vector = P0INT_VECTOR __interrupt void P0_ISR(void) { if(P0IFG > 0) //按键中断 { DelayMS(10); //延时去抖 if(P0IFG > 0) //按键中断 { KeyValue = 1; //产生中断保存中断状态 } } P0IFG = 0; //清中断标志 P0IF = 0; //清端口0中断标志}
最后就是主函数
void main(void){ InitLed(); //设置LED灯相应的IO口 InitKey(); //设置KEY相应的IO口 while(1) { if(KeyValue == 1) //如果按键按下LED3、LED2、LED1将倒序流水灯闪烁 { LED4 = !LED4; DelayMS(200); LED3 = !LED3; DelayMS(200); LED2 = !LED2; DelayMS(200); LED1 = !LED1; DelayMS(200); KeyValue = 0; } }}
其实就是将基本的代码看一遍,然后自己运行,进行修改
我觉得这样子对我整体思路比较有帮助
今天看这些学到了
-四个灯一般定义在哪个口
-延时函数与之前学的没啥区别
-定义IO口的时候尽量分开写,清晰明白
-中断函数跟着#pragma vector = P0INT_VECTOR
0 0
- 初学cc2530----first day
- first day
- first day!
- First day
- first day
- First Day
- first day
- first day
- first day
- First Day
- First Day
- first day
- first day
- First Day
- first day
- first day
- first day
- first day
- 继承中构造方法的关系
- android studio的使用之gradle
- VB程序学习代码记录20160724
- 仿乐透购彩app(4)
- hdu 1506(单调栈实现)
- 初学cc2530----first day
- HDFS
- vim tab设置为4
- LeetCode:268. Missing Number
- I2C与SPI总线对比
- [知了开发]“知了”优化-整体架构
- 手机Android音视频采集与直播推送,实现单兵、移动监控类应用
- 关于Vs2012重新生成解决方案时提示exe访问被拒绝的处理方式
- Git SSH Key 生成步骤