本文根据一周CC2541笔记汇总得来——

适合概览和知识快速索引——

全部链接:

中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探

【插入】SourceInsight-工程建立方法

中级教程-OSAL操作系统(OSAL系统解基本套路)

中级教程-OSAL操作系统(进一步了解-OLED && 普通按键和5方向按键-中断!!!)这个系统驱动层和应用层不一样~

中级教程-OSAL操作系统(ADC-光敏电阻)

OSAL操作系统-实验16 串口波特率扩展

OSAL操作系统-实验17 AT命令初步

OSAL操作系统-实验20 模拟IIC通信+硬件IIC(Mpu6050)

OSAL 操作系统-实验 23 PWM 输出(改变占空比)

OSAL 操作系统-实验 24 看门狗 WachDog

OSAL操作系统-实验25 SNV内部Flash数据读写

OSAL 操作系统-实验 29 系统睡眠等级研究

OSAL 操作系统-实验 31 从机广播功率修改

一、PWM 输出(改变占空比)23

常见的就是用蓝牙控制 cc2540或 cc2541 输出 pwm 调整 RGB 灯, 实现各种颜色的调整

实现 P0.3, P0.4, P0.5, 输出 3 路 pwm, 一般这个 pwm, 可以实现 RGB 彩色灯泡的控制。

以上 2 个文件,实现的是 pwm 的初始化与中断与设置。

定义3路引脚

以上为设置 pwm 的初始化,这里, 设置周期的 tick 为 375, 也就是 1.5ms 周期。

为time的中断函数

想控制占空比可以调用PWM_Pulse进行修改(red,green,blue为其值)

是通过将这些参数赋值给比较寄存器来实现的~

在应用层:
simpleBLETest.c中
二、看门狗 WachDog
看门狗功能一般有两种:

  • 其一, 预防程序跑飞,当系统程序跑飞后系统自动重启,避免整个大系统停止运行或崩溃。
  • 其二, 这个最常用,就是需要软件重启时使用,例如我们设置了某些参数后期望系统重启,这个时候看门狗也能够派上用场。

Hal_mcu.h

TI 已经做好了看门狗的部分代码, 但是定时 1000ms 的看门狗则没有, 我们加上这个功能:
144 , 系统复位,实际上就是启动看门狗,然后不喂狗实现重启。
150 , 是我们实现启动 1000ms 定时的看门狗, 1000ms 内需要喂狗, 否则就重启了。
#define HAL_SYSTEM_WATCH_DOG_1000MS() st( WDCTL = 0x00; WDCTL |= 0x08; )式我们添加的代码。
216 行, 喂狗, 避免软件重启
225 行, 定时 1000ms, 1000ms 内需要喂狗, 否则就重启了
235 行, 是故意的系统重启
本文转自beautifulzzzz博客园博客,原文链接:http://www.cnblogs.com/zjutlitao/p/4779458.html,如需转载请自行联系原作者

5、CC2541芯片中级教程-OSAL操作系统(PWM+看门狗)相关推荐

  1. 芯片低功耗睡眠模式下与看门狗的使用

    芯片睡眠模式下与看门狗的使用 方法1:在低功耗模式下进行RTC定时唤醒CPU进行喂狗操作之后在进入低功耗睡眠模式,因为在睡眠模式下是无法进行正常喂狗的,所以需要进行RTC定时唤醒进行喂狗操作,保证看门 ...

  2. 手把手教程13: F460 WDG(看门狗)

    目录 1. 看门狗计数器 1.1 简介 1.2 功能说明 1.2.1 启动 2. 启用WDG 2.1 配置参数 2.2 配置中断 2.3 初始化.装载.中断处理 配套开发板请移步博主小店:  ​​​​ ...

  3. 服务器看门狗芯片电路图,【经验】电机驱动芯片看门狗中断复位的原理及解决办法...

    随着国家节能减排政策的推出,传统汽车的散热系统部件正在逐步电子化,汽车的散热主风扇由传统皮带传动发展为继电器切换方式,到现在发展为MCU+MOS的电子化驱动方式. Melexis的电机驱动芯片MLX8 ...

  4. CC2540/CC2541/CC254x之OSAL操作系统抽象层

    测试环境 协议栈版本:BLE-CC254x-1.4.0 开发环境IAR版本:IAR 8.20 硬件设备:CC2540/CC2541开发板 示例测试Demo工程:simpleBLEPeripheral工 ...

  5. Z-Stack + OSAL操作系统

    Z-Stack + OSAL操作系统 Zigbee协议栈与Zigbee协议 协议是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据发射和接收.协议栈是协议的具体实现形式,简单地说就是协议栈 ...

  6. 二维数组七行七列C语言,C语言中级教程 再谈数组-7.ppt

    C语言中级教程再谈数组-7ppt课件 * C语言中级培训 七.再谈数组 数组的概念 是一种初级(语言级)形式的数据结构. 数组的特点 无名: 连续: 有序: 等大小: 个数固定(除了在堆上分配): 数 ...

  7. ih5长图如何滑动_iH5中级教程微场景H5必备,滑动时间轴+轨迹.doc

    iH5中级教程微场景H5必备,滑动时间轴轨迹 iH5中级教程:微场景H5必备,滑动时间轴+轨迹 你是否还在羡慕别人做的H5各种华丽各种切换各种来?使用一个免费的在线H5编辑工具不需要写代码也可以 工具 ...

  8. 计算机绘图中级,《计算机绘图中级教程》1.doc

    <计算机绘图中级教程>1 <计算机绘图中级教程>1 推荐资源 1.全国大学1000多门20000多课时课程在线看 (必收藏) /index-htm-m-bbs-cateid-7 ...

  9. 简述Z-Stack的基本工作原理与流程(OSAL操作系统)

    首先上图,跟着图中的函数顺序来感受Z-Stack的工作流程: Z-Stack协议栈总的来说做了两件事,系统的初始化和启动OSAL操作系统. 系统初始化:从main函数看,首先是调用了osal_init ...

最新文章

  1. 程序员关注的高质量公众号
  2. python 除法取模_Python的运算符和表达式(上)
  3. Java DelayQueue延迟队列的使用和源码分析
  4. java基础知识大全,java 基础知识点汇总
  5. webservice中jaxws:server 和jaxws:endpoint的区别
  6. Android Volley完全解析(四),带你从源码的角度理解Volley
  7. ceph常用命令-pool相关命令
  8. android菜单和对话栏,Android回顾--(十一) 菜单和对话框
  9. 百度链接解析_【集合】百度分享链接解析的方法总结
  10. Linux 日志系统
  11. 因为贫贱,所以分手,我错了吗?
  12. tomcat上传文件,重新加载后删除以及在web.xml中配置全局路径
  13. 批量删除Cookie(实用)
  14. CSDN自定义模块内容编写
  15. Socket TCP Ping使用小结
  16. gitee.visualstudio.vsix 分享
  17. jzoj3339. wyl8899和法法塔的游戏
  18. SQL SERVER 软件和安装步骤
  19. java excel 插入新行_POI ,Java 操作 Excel 實現行的插入(insert row)
  20. 页面生命周期:DOMContentLoaded,load,beforeunload,unload

热门文章

  1. BERT和ERNIE谁更强?这里有一份4大场景的细致评测
  2. 1141. PAT Ranking of Institutions (25)
  3. Android setOnPageChangeListener 过时了怎么办?
  4. linux shell 报错 Syntax error: Bad for loop variable
  5. SQLPLUS SPOOL命令使用详解
  6. 介绍linux下Source Insight强大代码编辑器sublime_text_3
  7. Environment variable ORACLE_UNQNAME not defined错误解决
  8. oracle 查看表所占用的空间大小
  9. MySpaces性能提高的过程(转)
  10. 互联网协议 — TCP — 流量控制(网络质量保障)