在PM0功耗模式下,可配置32MHz晶体振荡器或16MHzRC振荡器作为系统的时钟。设置系统时钟需要操作两个寄存器:CLKCON(时钟控制寄存器)和SLEEP(睡眠模式控制寄存器)。
本程序功能就是主函数不断切换XTAL和RC为系统时钟,并在中间插入LED闪烁函数,由于系统时钟速率不同,LED闪烁的频率也不同。

void initClockmodes(void)
{
   DISABLE_ALL_INTERRUPTS();
   P1SEL &= ~0x01;
   INIT_GLED();
}
 
void blinkLeds(void)
{
  UINT16 timeOut = 0xffff;
  while(timeOut--);
  GLED ^=1;
}

void main(void)
{
 unsigned char i;
 initClockmodes();
 while(1)
 {
  Set_Main_Clock_Source(RC);
  for(i=0;i<20;i++)
  {
   blinkLeds();
  }
  Set_Main_Clock_Source(CRYSTAL);
   for(i=0;i<20;i++)
  {
    blinkLeds();
  }
 }
}

// Macro for setting the main clock oscillator source,

//turns off the clock source not used

//changing to XOSC will take approx 150 us

#define SET_MAIN_CLOCK_SOURCE(source) \
   do { \
      if(source) { \
        CLKCON |= 0x40; \
        while(!HIGH_FREQUENCY_RC_OSC_STABLE); \
        if(TICKSPD == 0){ \
          CLKCON |= 0x08; \
        } \
        SLEEP |= 0x04; \
      } \
      else { \
        SLEEP &= ~0x04; \
        while(!XOSC_STABLE); \
        asm("NOP"); \
        CLKCON &= ~0x47; \
        SLEEP |= 0x04; \
      } \
   }while (0)

LED灯一直闪烁,闪烁频率时高时低。

基于CC2430的基础实验5---时钟模式相关推荐

  1. 基于CC2430的基础实验2-----点阵式LCD驱动

    我的开发板上的LCD是水平方向为84 pixel,能显示宽度为6个pixel的字符14个,垂直方向上位48pixel,能显示高度为8个字符6行.也就是习惯上的水平方向上为"行",一 ...

  2. Zigbee之旅(八):几个重要的CC2430基础实验——看门狗

    Zigbee之旅(八):几个重要的CC2430基础实验--看门狗 一.承上启下 再好的操作系统,不管是现在的Win7还是以后Win8.Win9,总会出现BlueScreen的时候,更何况是小小的单片机 ...

  3. Zigbee之旅(九):几个重要的CC2430基础实验——系统睡眠及中断唤醒

    Zigbee之旅(九):几个重要的CC2430基础实验--系统睡眠及中断唤醒 一.承上启下 这一篇,我们来讨论一下CC2430的睡眠功能及唤醒方法.在实际运用中的CC2430节点一般是靠电池来供电,因 ...

  4. TI CC2530基础实验(定时器1查询方式——自由运行模式)

    本实验实现通过CC2530的定时器1(16位)查询方式控制LED1以1S的周期性闪烁,此实验使用的三个寄存器T1CTL(定时器1控制寄存器),T1STAT(定时器1状态寄存器),IRCON. 有关CC ...

  5. 嵌入式成长轨迹54 【Zigbee项目】【CC2430基础实验】【系统睡眠工作状态】

    本实验在小灯闪烁10 次以后进入低功耗模式 PM3 .CC2430 一共有4 种功耗模式,分别是PM0,PM1,PM2,PM3,以 PM3 功耗最低. SLEEP (0xBE) - Sleep mod ...

  6. 树莓派基础实验31:MPU6050陀螺仪加速度传感器实验

    一.介绍    MPU6050是世界上第一款也是唯一一款专为智能手机.平板电脑和可穿戴传感器的低功耗.低成本和高性能要求而设计的6轴运动跟踪设备.    它集成了3轴MEMS陀螺仪,3轴MEMS加速度 ...

  7. CY-TIY物联网实验箱基础实验功能参数简介

    CY-TIY物联网实验箱基础实验功能参数简介 CY-TIY基础实验: 1)LED实验 1)独立按键实验 3)矩阵键盘实验 4)AD转换实验 5)串口通信实验 6)步进电机实验 7)实时时钟实验 8)液 ...

  8. 基础实验篇 | RflySim底层飞行控制算法开发系列课程总体介绍

    本讲主要介绍多旋翼的特点及选用多旋翼作为实验平台的原因.对于无人系统教育的一些新需求.RflySim平台对于飞控的底层控制算法的开发优势.本期平台课程的设置.以及如何开发自驾仪系统. 相较于固定翼和直 ...

  9. 基于RT-Thread操作系统的 基础四轮组智能车设计与实践

    学 校: 同济大学 队伍名称: 智行·龙卷风 参赛队员: 杨怡,韦炳宇,许泽华 带队教师: 张志明,余有灵 §01 引言 1.1全国大学生智能车竞赛介绍 全国大学生智能汽车竞赛是以智能汽车为研究对象的 ...

  10. flash期末作业成品_基于“新工科”的工科物理作业模式研究

    2018年1月,教育部高等教育司对部属高校.各省级教育行政部门.理工专业类教学指导委员会以及相关行业协(学)会择优推荐的国家级新工科研究与实践项目,进行了公示,公示结果显示,认定了612个项目为国家级 ...

最新文章

  1. 线程安全的无锁RingBuffer的实现
  2. windows10下编译dllib报错: ERROR: Failed building wheel for dlib
  3. bzoj 1468 Tree(点分治模板)
  4. 爬取小说2--协程间通信Python
  5. sql查询复习笔记-小技巧,大智慧(续一)
  6. oracle asm和文件系统,Oracle工具之--ASM与文件系统及跨网络传输文件
  7. spss假设检验_《SPSS操作》--参数/非参数检验
  8. Invalid bound statement (not found): com.xxxx.dao.other.LoginDao.getUser
  9. 欢迎归来 ,“LiveVideoStack新闻站”
  10. 批量导出部分依赖图(PDP)
  11. 计算机四进制表示形式,1.4.2 二进制数的四种表示形式(1)
  12. 鼠标悬浮显示文字的简单方法
  13. C++queue队列与stack栈
  14. java判断枚举是否包含_java判断枚举是否包含
  15. Atitit 技术管理项目管理的职责列表attilax总结 v2 r74 brch4com.docx
  16. 基于Paddle Serving百度智能边缘BIE的边缘AI解决方案
  17. 全协议NFC读写模块 小尺寸 功能强 TTL电平输出 可兼容14443A模块 14443B模块 Felica模块 15693模块 CLRC663读写模块
  18. 计算机进管理提示找不到入口,如何解决Win10提示找不到入口点dllregisterserver
  19. 五款最好用的记事本编程软件比UltraEdit强大
  20. 【labelCloud标注软件的使用】

热门文章

  1. mysql 关于 不可重复读与幻读的解决方案
  2. 不会真有人觉得在广州、深圳这样的城市月薪过万很容易吧
  3. SPI转can芯片CSM300详解以及Linux驱动移植调试笔记
  4. 实验一 白盒测试用例设计
  5. Butterworth低通滤波器 Matlab实现
  6. war3第一视角集合 UD篇
  7. 关于debug调试在Controller中形参PageWeb<T>(即分页封装泛型)的pageNum,pageSize赋值问题
  8. SAP - MM - 第3篇 - 供应商主数据
  9. overload与override
  10. Error: PostCSS received undefined instead of CSS string核心解决方法