CC2540关于定时器模模模式的设置
来源:互联网 发布:java获取自己程序路径 编辑:程序博客网 时间:2024/04/30 12:32
直接上代码,代码有详解
/* 本程序为定时器3倒计数模式中断方式 关于定时器总结: 模式为自由模式时,只需要常规设置寄存器即可; 模式为模模模式时,正/倒计数模式时,只需要添加设置T3CCTL0寄存器为比较模式即可 模式为倒计数模式时,由于倒计数到0x00时,硬件会关闭定时器,如果想要连续使用,一定在中断或则溢出标记中重新打开定时器!*/#include <ioCC2540.h>#define LED1 P1_0int count = 0;void init_led(){ P1SEL &= ~(1 << 0);//set p1_0 as generic io P1DIR |= (1 << 0); //set P1_0 as output LED1 = 0x0; //set led1 off }void init_clock32MHZ(){ CLKCONCMD &= ~(1 << 6);//set source system clcok 32MHZ while(CLKCONSTA & 0x40);//wait source system clcok stable CLKCONCMD &= ~((1 << 6) | (1 << 2 ) | (1 << 1) | (1 << 0));//设置主时钟为32MHZ while(CLKCONSTA & 0x1);//wait main clcok stable CLKCONCMD |= (6 << 3);//set TICKSPD = 500KHZ //TICKSPD default = 16MHZ}void init_timer3(){ //使用模模式,倒计数,正倒计数时,必须设置这个寄存器为比较模式 T3CCTL0 |= (1 << 2); T3CTL |= (7 << 5) | (1 << 3) | 1;//TICKSPD/128,enable inter, XXmode T3CC0 = 125; // IEN1 |= (1 << 3); //enable T3IE T3CTL |= (1 << 4); //start Timer3 IEN0 |= (1 << 7);//enable EA}#pragma vector=T3_VECTOR__interrupt void t3_isr(){ IRCON &= ~(1 << 3);//clear inter flag //T3CTL |= (1 << 4); //start Timer3,如果使用倒计数模式 count++; if(count > 64){//2s LED1 = 0x1; count = 0; } if(count > 32){//1s LED1 = 0x0; }}void main(){ init_led(); init_clock32MHZ(); init_timer3(); while(1);}
0 0
- CC2540关于定时器模模模式的设置
- 设置CC2540的发射信道
- 关于定时器位置的设置
- CC2540功率设置
- 设置CC2540 TX Power
- cc2540 PM3模式
- STM32定时器溢出模式设置
- STM32定时器溢出模式设置
- 关于js中两种定时器的设置及清除
- 关于js中两种定时器的设置及清除 [转发]
- 关于js中两种定时器的设置及清除
- S3C2440的定时器设置
- S3C2440的定时器设置
- Spring的定时器设置
- 定时器的设置
- 定时器的设置
- CC2540的MAC地址
- 关于Symbian的定时器
- tcpdump捕包乱序的解决方案
- ios 基础攻略
- 相较于其他语言,golang的突出特点和优势
- live555学习笔记2-基础类
- HDU 1005 Number Sequence
- CC2540关于定时器模模模式的设置
- 初探swift语言的学习笔记九(OC与Swift混编)
- extjs radio样例集合
- AngularJs返回前一页面时刷新一次前面页面
- 智能机市场饱和竞争更为促进技术创新发展
- 关于java Udp收发数据异常的笔记
- 快速掌握Lua 5.3 —— 各种变量和值
- 四元数(Quaternion)和旋转
- MySQL load语句详细介绍