void osal_pwrmgr_powerconserve( void )
{ uint32 next; halIntState_t intState;
if ( pwrmgr_attribute.pwrmgr_device != PWRMGR_ALWAYS_ON ) //判断是否开启低功耗模式
{
if ( pwrmgr_attrib...
分类:
其他好文 时间:
2015-07-27 13:11:29
阅读次数:
139
之前体验了CC2541和CSR1010的开发,感觉NRF51822的开发是另外一种架构,NRF51基于Cortex-M0的内核,通过SVC实现协议栈的嵌套。
SOC需要实现开放协议栈的功能(API)而不开放协议栈的源代码,所以接口是决定SOC优劣的关键。CC2541以lib库文件的形式实现接口调用,CSR1010则通过回调函数的形式将主程序放在ROM中,NRF51822给人的感觉是介于两者之间。...
分类:
其他好文 时间:
2015-07-06 18:08:39
阅读次数:
324
看门狗是在软件跑飞的情况下CPU自恢复的一个方式,看门狗分为硬狗和软狗,硬狗就是由专门的看门狗硬件电路实现看门狗功能,看门狗芯片也比较多,比如DS1232,除了看门狗功能外还有电源电压监测功能。软狗就是由软件实现的看门狗功能,现在很多CPU都自带了软狗,很难说硬狗好还是软狗好,如果软狗够用,尽量使用...
分类:
其他好文 时间:
2015-06-02 00:02:28
阅读次数:
319
CC2541的ADC支持多达14位的模拟数字转换与高达12位的有效位数。它包括一个模拟多路转换器,具有多达8个各自可独立配置的通道,一个参考电压发生器。转换结果通过DMA写入存储器。还具有若干运行模式。ADC主要特性如下:可选的抽取率,设置了7~12位的分辨率;8个独立输入通道,可接受单端或差分信号...
分类:
其他好文 时间:
2015-05-29 21:37:27
阅读次数:
506
定时器3和定时器4与定时器1功能类似,都有三种模式:自由运行模式、模模式、正计数/倒计数模式,都有输入捕获和输出比较功能,不同的是定时器3和定时器4是8位计数器,而定时器1是16位的,另外定时器3和定时器4只有2个通道,定时器多了一个模式:倒计数模式。由于定时器3和定时器4相似,下面以定时器3为例说...
分类:
其他好文 时间:
2015-05-18 18:11:47
阅读次数:
248
CC2541有四个振荡器,分别是:32MHz外部晶振16MHz内部RC振荡器32kHz外部晶振32kHz内部RC振荡器由此可以看出,CC2541内部自带了振荡器,也就是说即使外部电路不接振荡器,CC2541也可以工作,答案是肯定的,但是作为无线RF收发,只能使用外部32MHz晶振,除非准备将CC25...
分类:
其他好文 时间:
2015-05-15 21:19:32
阅读次数:
146
CC2541定时器1有5个捕获/比较通道,首先介绍什么是捕获和比较功能。捕获通道:设置的捕获开始的时候,CPU会将计数寄存器的值复制到捕获比较寄存器中并开始计数,当再次捕捉到电平变化时,这时计数寄存器中的值减去刚才复制的值就是这段电平的持续时间,你可以设置上升沿捕获、下降沿捕获、或者上升沿下降沿都捕...
分类:
其他好文 时间:
2015-05-15 21:07:45
阅读次数:
300
学习目标:定时器1的自由运行模式CC2541有4个定时器,分别实现不同的功能,定时器1是一个独立的16位定时器,支持典型的定时/计数功能,比如输入捕获,输出比较和PWM功能。定时器1有5个独立的捕获/比较通道,每个通道定时器使用一个I/O引脚。定时器1的功能如下:五个捕获/比较通道上升沿、下降沿或任...
分类:
其他好文 时间:
2015-05-12 17:07:28
阅读次数:
858
学习目标:I/O口的配置,掌握I/O外设功能及位置分布,寄存器“PERCFG”、“P2SEL”和“P2DIR”。前面CC2541蓝牙学习——I/O口介绍过CC2541有21个I/O引脚,这些引脚可以作为通用I/O引脚,同时通过独立编程还可以作为外设I/O引脚用作ADC、串口、定时器和调试接口。当设置...
分类:
其他好文 时间:
2015-05-11 23:34:29
阅读次数:
186
学习目标:掌握中断使能寄存器IEN0、IEN1、IEN2,中断标志寄存器PxIFG、IRCON、IRCON2,端口中断触发沿控制寄存器PICTLCC2541有18个中断源,每个中断源都可以产生中断请求,这18个中断源如下中断请求通过SFR寄存器IEN0、IEN1、IEN2使能或禁止,定义如下:其中I...
分类:
其他好文 时间:
2015-05-06 22:46:13
阅读次数:
417