2.4G无线模块厂家 > 无线资讯 > 无线技术
24小时全国服务热线 0755-29466981
银河官方网站3868的阿里

A7139模块无线通信驱动增加FIFO扩展模式解析(转载)

来源: 作者: 发布日期:2017-04-10 16:42:16 加入收藏 关注:
分享:

 微信截图_20170410172109.png

A7139 拥有电磁波唤醒以及10mW的发射功率,非常容易实现长距离通信,目前测试有障碍物可以轻松达到300m以上.

通过几天的调试,目前可以发送纫庸俜酵3868獯笮〉氖莅笮∥1-16KB,全部使用中断收发,效率极高。
增加波特率设置2Kbps-100Kbps纫庸俜酵3868馍柚
增加通信信道设置0-255
增加发送功率设置0-7
 
底层代码
 
/************************************************************************************************************* 
 * 文件名:     A7139.c 
 * 功能:      STM32 A7139驱动 
 * 作者:      cp1300@139.com 
 * 创建时间:    2015-07-19 
 * 最后修改时间:2015-12-30 
 * 详细:      A7139驱动 
*************************************************************************************************************/        
 
#include "SYSTEM.H"  
#include "GPIO_INIT.H"  
#include "a7139.H"  
#include "LED.H"  
  
  
  
//晶振寄存器,用于设置晶振以及PAGE地址  
//用于缓存寄存器7的值  
static u16 A7139_CRYSTAL_REG = 0x18;  
  
//单包数据发送超时时间  
#define A7139_SEND_TIME_OUT     5   //单位10ms  
  
//基础频率,设置频率范围为420.500MHZ~452.375MHZ ,频道差为125KHZ  
#define A7139_BASE_FRE          420.5f  
  
//调试开关  
#define A7193_DBUG  1  
#if A7193_DBUG  
    #include "system.h"  
    #define A7193_debug(format,...) uart_printf(format,##__VA_ARGS__)  
#else  
    #define A7193_debug(format,...) /\  
/  
#endif  //A7193_DBUG  
  
vu8 IntCnt = 0;  
  
//寄存器配置  
typedef struct  
{  
    u16 SCLOCK;     //系统时钟寄存器  
    u16 PLL1;       //PLL1  
    u16 PLL2;       //PLL2  
    u16 PLL3;       //PLL3  
    u16 PLL4;       //PLL4  
    u16 PLL5;       //PLL5  
    u16 PLL6;       //PLL6  
    u16 CRYSTAL;    //晶振设置  
    u16 PREG8S;     //寄存器组,由CRYSTAL控制切换  
    u16 PREG9S;     //寄存器组,由CRYSTAL控制切换  
    u16 RX1;        //接收设置1  
    u16 RX2;        //接收设置2  
    u16 ADC;        //ADC  
    u16 PIN;        //PIN  
    u16 CALIB;      //Calibration  
    u16 MODE;       //模式控制  
} A7139_CONFIG_YPTE;  
  
  
  
const u16 A7139Config[]=          
{  
        0x0021,     //SYSTEM CLOCK register,  
        0x0A21,     //PLL1 register,  
        0xDA05,     //PLL2 register,    433.301MHz  
        0x0000,     //PLL3 register,  
        0x0A20,     //PLL4 register,  
        0x0024,     //PLL5 register,  
        0x0000,     //PLL6 register,  
        0x0001,     //CRYSTAL register,  
        0x0000,     //PAGEA,  
        0x0000,     //PAGEB,  
        0x18D4,     //RX1 register,     IFBW=100KHz, ETH=1    
        0x7009,     //RX2 register,     by preamble  
        0x4400,     //ADC register,  
        0x0800,     //PIN CONTROL register,     Use Strobe CMD  
        0x4845,     //CALIBRATION register,  
        0x20C0      //MODE CONTROL register,    Use FIFO mode  
};  
  
const u16 A7139Config_PageA[]=     
{  
        0xF706,     //TX1 register,     Fdev = 37.5kHz  
        0x0000,     //WOR1 register,  
        0xF800,     //WOR2 register,  
        0x1107,     //RFI register,     Enable Tx Ramp up/down  
        0x0170,     //PM register,  
        0x0201,     //RTH register,  
        0x400F,     //AGC1 register,  
        0x2AC0,     //AGC2 register,  
        0x0041,     //GIO register      GIO1->WTR GIO2->WTR   
        0xD281,     //CKO register  
        0x0004,     //VCB register,  
        0x0A21,     //CHG1 register,    430MHz  
        0x0022,     //CHG2 register,    435MHz  
        0x003F,     //FIFO register,    FEP=63+1=64bytes  
        0x1507,     //CODE register,    Preamble=4bytes, ID=4bytes  
        0x0000      //WCAL register,  
};  
  
const u16 A7139Config_PageB[]=     
{  
        0x0337,     //TX2 register,       
        0x8400,     //IF1 register,     Enable Auto-IF, IF=200KHz  
        0x0000,     //IF2 register,     频率偏移为0  
        0x0000,     //ACK register,  
        0x0000      //ART register,  
};  
  
  
//GPIO1功能设置  
#define A7139_SetGIO_WTR()      A7139_WritePageA(A7139_REG8_GPIO, 0x0041)   //WTR模式,单包收发提示  
#define A7139_SetGIO_FPF() A7139_WritePageA(A7139_REG8_GPIO, 0x0035) //FPF模式,多包收发状态提示
 
“实用”“易用”的无线联接产品免费申请样品,立即点击看看吧
“通俗”“易懂”的无线联接技术文章尽在无线新闻,立即点击看看吧
推荐阅读
  • 智能开关有哪些优缺点?有哪些主要功能? 了解详情 >
  • 什么叫智能面板? 智能面板怎么安装与布线 了解详情 >
  • 天猫精灵+天猫精灵智能插座,让传统电器实现智能化 了解详情 >
  • 无线模块传输距离增加的方法 了解详情 >
  • 蓝牙耳机中的tws芯片:市面上流行的tws芯片盘点 了解详情 >