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

简介:


 

 

本文根据一周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 ,如需转载请自行联系原作者
相关文章
|
2月前
|
存储 弹性计算 运维
阿里云国际Windows操作系统迁移教程
阿里云国际Windows操作系统迁移教程
|
23天前
|
Web App开发 API Windows
取接口访问者信息[IP,浏览器,操作系统]免费API接口教程
此API用于获取访问者的IP地址、浏览器和操作系统信息,支持70多种浏览器和操作系统。通过POST或GET请求至`https://cn.apihz.cn/api/ip/getapi.php`,需提供用户ID和KEY。返回结果包括状态码、消息、IP、浏览器和操作系统信息。示例:{"code":200,"ip":"175.154.88.178","browser":"Chrome","os":"Windows 10"}。详情见官网文档。
|
2月前
|
弹性计算 开发框架 .NET
阿里云服务器购买教程及云服务器地域、实例、操作系统、带宽等参数选择指南
对于初次购买阿里云服务器的用户来说,想使用阿里云服务器搭建网站或者运行APP、小程序等项目,第一步就是要先购买阿里云服务器,下面小编以图文形式给大家介绍一下阿里云服务器的购买流程,以及购买过程中如何云服务器地域、实例、带宽等关键配置和选择这些参数的一些注意事项,以供参考。
|
2月前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
166 0
Mac os 安装 nginx 教程(success)
|
6月前
|
Linux 数据安全/隐私保护 虚拟化
04. 【Linux教程】安装 Linux 操作系统
04. 【Linux教程】安装 Linux 操作系统
135 3
04. 【Linux教程】安装 Linux 操作系统
|
6月前
|
Unix Shell Python
Python教程:开箱即用的Python os模块知识
注:文末有福利小工具源码 Python 的 os 模块提供了许多接口用于与操作系统进行交互,包括文件操作、目录操作、路径操作、环境变量操作、系统信息获取等
48 1
|
5月前
|
Linux 网络安全 数据安全/隐私保护
网络安全教程-------渗透工具Kali,官网链接,ARM的介绍,Mobil,华为小米,oppe手机,是无法刷入第三方的操作系统的,E+手机,谷歌的picksoul,或者三星手机,系统盘是WSL的
网络安全教程-------渗透工具Kali,官网链接,ARM的介绍,Mobil,华为小米,oppe手机,是无法刷入第三方的操作系统的,E+手机,谷歌的picksoul,或者三星手机,系统盘是WSL的
|
6月前
|
JavaScript Ubuntu 应用服务中间件
nginx扩展 OpenResty 实现防cc攻击教程
使用OpenResty实现CC攻击防护,包括两个主要步骤:限制请求速度和JS验证。首先,安装依赖(RHEL/CentOS需安装readline-devel, pcre-devel, openssl-devel,Ubuntu需安装libreadline-dev等)。然后,安装Luajit和OpenResty。在Nginx配置中,创建`lua`共享字典并设置`content_by_lua_file`调用lua脚本。lua脚本检查请求频率,超过限制则返回503,否则增加计数。同时,通过JS验证,生成随机码并重定向用户,用户需携带正确验证码请求才能访问。
151 0
|
1月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
49 0
Vanilla OS:下一代安全 Linux 发行版
|
21天前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
47 4