标签:
本文根据一周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 行, 是故意的系统重启
小结:看门狗还有自动重启的功能!!!协议栈封装的很好,直接调用即可!
中级教程完~
5、CC2541芯片中级教程-OSAL操作系统(PWM+看门狗)
标签:
原文地址:http://www.cnblogs.com/zjutlitao/p/4779458.html