wor功能配置代码:

void  a7139_wor(void) {

//A7139_WritePageA(8,0x0445);//GPIO1 按帧同步 GPIO2 单片机唤醒

A7139_WritePageA(8,0x0005);//GPIO1 按帧同步  只用一个引脚 唤醒单片机。

A7139_WritePageA(1,0x8013); 活动时间8ms       睡眠时间 152ms

RCOSC_Cal(); //  rc时钟校准

A7139_WritePageA(2,0x0030);  开启rc时钟  和前导码唤醒

A7139_WriteReg(0xd,0x0800); //选择strobe命令控制   wor功能开启
  A7139_WriteReg(0xf, 0x22C0);// 选择fifo模式   wor功能开启

}

1.  配置wor 1 寄存器。 活动周期和睡眠周期根据需要配置。但是活动周期必须要保证能接收到一串数据。活动时间越短功耗越低,睡眠周期越长功耗越低。

A7139_WritePageA(1,0x8013); //活动周期8ms,睡眠周期152ms

2.配置wor 2寄存器。唤醒次数根据实际情况设置,默认为1次。唤醒选择配置为前导码唤醒。开启rc时钟。 唤醒 MCU 模式选择 :通过 WOR 模式,在接收到包后唤醒 MCU
3.配置GPIO寄存器。 把GIO1配制成 帧同步信号,把GIO2 配制成单片机唤醒信号。

4.在管脚控制寄存器(0D h)和模式控制(0F h)里把wor功能打开,并把模块设置成FIFO模式。

注意:

a.接收方的前导码必须大于0 ,小于等于发射方的前导码

b.GIO管脚必须配制成中断,只有中断才能检测信号变化。

c.在有很多射频信号的地方,前导码设置过短芯片会被误触发。(检测前导码8B   仅供参考)

d.活动时间设置必须要保证能检测到完整的前导码。前导码越长,活动时间越长。

e.唤醒单片机后需要延时一段时间才能读出数据(100ms 仅供参考)

中断:

void EXTI0_IRQHandler(void){

EXTI_ClearITPendingBit(EXTI_Line0); //

delay_ms(100);

A7139_ReadFIFO(datatemp,18);  进入中断函数后读取fifo里面的数据

if(datatemp313[17]==0x5a)

{

datatemp[0]=0x00;

}

}

//void EXTI1_IRQHandler(void) {

//  EXTI_ClearITPendingBit(EXTI_Line1);

//}

void RCOSC_Cal(void)          //  RC时钟 校准
{
     uint16_t tmp;
     A7139_WritePageA(WOR2_PAGEA, A7139Config_PageA[WOR2_PAGEA] | 0x0010);           //enable RC OSC
     while(1)
     {
               A7139_WritePageA(WCAL_PAGEA, A7139Config_PageA[WCAL_PAGEA] | 0x0001);   //set ENCAL=1 to start RC OSC CAL
               do{
                        tmp = A7139_ReadPageA(WCAL_PAGEA);
               }while(tmp & 0x0001);                      
               tmp = (A7139_ReadPageA(WCAL_PAGEA) & 0x03FF);            //read NUMLH[8:0]
               tmp >>= 1;                    
               if((tmp > 183) && (tmp < 205))                  //NUMLH[8:0]=194+-10 (PF8M=6.4M)
               //  if((tmp > 232) && (tmp < 254))     //NUMLH[8:0]=243+-10 (PF8M=8M)
               {
                        A7139_WritePageA(WCAL_PAGEA,0x0000); //结束后清零
                        break;
               }
     }
}

转载于:https://www.cnblogs.com/wangjinshan/p/9323766.html

A7139射频模块wor配置解析相关推荐

  1. 实战 webpack 4 配置解析一

    配置 github 仓库:https://github.com/nystudio107/annotated-webpack-4-config 随着Web开发变得越来越复杂,我们需要工具来帮助我们构建现 ...

  2. python3.6爬虫环境安装要多少内存_Python3爬虫环境配置——解析库安装(附tesserocr安装方法)...

    Python3爬虫环境配置--解析库安装(附tesserocr安装方法) 抓取网页代码后,第二步就是提取信息,为了方便程序设计,这里不采用繁琐的正则提取,利用社区里强大的Python解析库,如lxml ...

  3. 开源分布式中间件 DBLE Schema.xml 配置解析

    文章来源:爱可生开源社区 作者:张沈波 1.DBLE项目介绍 DBLE 是企业级开源分布式中间件,江湖人送外号 "MyCat Plus":以其简单稳定,持续维护,良好的社区环境和广 ...

  4. java log 配置,java日志系统--log4j配置解析过程,源码分析

    log4j 可以看成是非常类似jdk logger 结构 ,有个logger 与logManger 都是在logManger的静态块中初始化类,加载配置文件 Logger.getLogger(Test ...

  5. 【Mybatis 之应用篇】2_配置解析、属性名问题、日志、分页和注解开发

    文章目录 Mabatis 四.配置解析 1.核心配置文件 2.environments(环境配置)☆ 3.properties(属性)☆ 4.typeAliases(类型别名)☆ 5.settings ...

  6. (Mybatis)XML配置解析

    文章目录 XML配置解析 1.核心配置文件 2.环境配置(environments) 3. 属性(properties) 4. 设置(settings) 5. 其他配置 6. 映射器(mappers) ...

  7. nsq源码阅读笔记之nsqd(一)——nsqd的配置解析和初始化

    配置解析 nsqd的主函数位于apps/nsqd.go中的main函数 首先main函数调用nsqFlagset和Parse进行命令行参数集初始化,  然后判断version参数是否存在,若存在,则打 ...

  8. MyBatis 源码解读-配置解析过程

    首先我们要清楚的是配置解析的过程全部只解析了两种文件.一个是mybatis-config.xml 全局配置文件.另外就是可能有很多个的Mapper.xml 文件,也包括在Mapper 接口类上面定义的 ...

  9. SpringBoot默认日志logback配置解析

    SpringBoot默认日志logback配置解析 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式 ...

最新文章

  1. 整理了一下SQL Server里面可能经常会用到的日期格式转换方法
  2. 一起学nRF51xx 10 -  rng
  3. GetModuleHandle,AfxGetInstanceHandle使用区别
  4. Git本地库版本控制和分支管理
  5. eclipse 项目 链接 oracle 空指针,Eclipse 常用配置技巧
  6. linux centos7上安装sql developer
  7. 60-150-044-使用-Sink-Flink自定义RetractStreamTableSink
  8. 转- --python 3 编码
  9. anki模板_【授权转载】【Anki高级操作技巧】(19)-如何在模板上添加新字段
  10. php常用数组,php常用数组函数
  11. Linux权限命令chmod
  12. GEO数据库中platform信息详解
  13. linux 安装串口驱动安装失败,z-tek(求救Z-TEK串口安装失败,提示:该设备的驱动程序未被安装(代码28)这个inf中的服务安装段落无效?)...
  14. 伺服舵机基础知识汇总
  15. 史上最详细的人脸识别和活体检测技术介绍、原理剖析及产品应用!
  16. 基于深度学习的手写汉字识别
  17. 利用C++,设置输入某年某月某日,判断这一天是这一年的第几天。
  18. 多少秒算长镜头_电影术语中长镜头是什么意思?
  19. 基于Gin+Vue+ElementUI实现的微信公众号平台系统
  20. 原生 js、javaScript 处理十位数(带有小数点的浮点数时间戳)、十三位数、时间戳, 将时间戳转换成 年、月、日、时、分、秒、毫秒、正常的日期格式

热门文章

  1. nginx实现https转发
  2. Resnet_50网络结构详解
  3. 零基础云开发一个投票小程序 | 我的投票列表页
  4. [OS-Linux] CentOS 7.x 安全登录策略设置
  5. html video标签canplay,HTML oncanplay事件用法及代码示例
  6. 高鸿业西方经济学微观部分第7版笔记
  7. 关于jeecg 项目的莫名其妙的问题
  8. 业务设计师(产品经理)P级晋升必备职能(P3-P7)
  9. photoshop制作白发教程:可爱女孩黑发变白发
  10. Java斗_Java集合练习:斗地主游戏