查看: 4089|回复: 6

51822的radio

[复制链接]
  • TA的每日心情
    郁闷
    2014-4-24 15:31
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2014-4-20 12:46:41 | 显示全部楼层 |阅读模式
    分享到:
    /* ================== */
    /* ===== RADIO 无线电 === */
    /* ================= */
    /**
      * @介绍无线电。 (RADIO)
      */
    //typedef struct {                                    /*!< 无线电 结构          */
    //注:__O只能写   __I只能读      __IO可读写

    //TASKS代表任务(写1有效)让51822去做这件事
    //EVENTS代表事件(由硬件置1)判断这个事件发生没(类似于运行指示灯的功能)

    //  __O  uint32_t  TASKS_TXEN;                        /*!< 发射使能  */
    //  __O  uint32_t  TASKS_RXEN;                        /*!< 接收使能  */
    //  __O  uint32_t  TASKS_START;                       /*!< 数据开始传输 */
    //  __O  uint32_t  TASKS_STOP;                        /*!< 数据传输结束  */
    //  __O  uint32_t  TASKS_DISABLE;                     /*!< 关闭无线电。     */
    //  __O  uint32_t  TASKS_RSSISTART;                   /*!< 信号强度指示器RSSI  开   */
    //  __O  uint32_t  TASKS_RSSISTOP;                    /*!< 信号强度指示器RSSI  关   */
    //  __O  uint32_t  TASKS_BCSTART;                     /*!< 启动位计数器。地址事件触发后开始位计数  */
    //  __O  uint32_t  TASKS_BCSTOP;                      /*!< 停止位计数器。    */
    //  __IO uint32_t  EVENTS_READY;                      /*!< 收发模式切换完毕*/
    //  __IO uint32_t  EVENTS_ADDRESS;                    /*!< 收到正确的地址(在空中检测到有其它无线模块在使用该接收地址)*/
    //  __IO uint32_t  EVENTS_PAYLOAD;                    /*!< 有效载荷事件。(空气中地址成功后数据也成功了) */
    //  __IO uint32_t  EVENTS_END;                          /*!< 传输完毕事件。  */
    //  __IO uint32_t  EVENTS_DISABLED;                   /*!< 无线电已关闭_事件 (无线电的电源指示灯,关闭后由硬件置1)   */
    //  __IO uint32_t  EVENTS_DEVMATCH;                   /*!< 数据包CRC校验成功    */
    //  __IO uint32_t  EVENTS_DEVMISS;                    /*!< 数据包CRC校验失败   MH370马航坠海咯     */
    //  __IO uint32_t  EVENTS_RSSIEND;                    /*!< 采集到一个信号强度RSSI的样品包
    //                                                       一个新的RSSI样品准备好被读出  在寄存器RSSISAMPLE。里     */
    //  __IO uint32_t  EVENTS_BCMATCH;                    /*!< 位计数位计数器达到BC寄存器中指定的值。        */
    //  __IO uint32_t  SHORTS;                            /*!< 无线电运行状态设置      */
    //  __IO uint32_t  INTENSET;                          /*!< 中断启用寄存器。        */
    //  __IO uint32_t  INTENCLR;                          /*!< 中断清除寄存器。        */
    //  __I  uint32_t  CRCSTATUS;                         /*!< CRC校验成功         */
    //  __I  uint32_t  RXMATCH;                           /*!< 接收到数据的通道号 0x00   */
    //  __I  uint32_t  RXCRC;                             /*!< 接收到的CRC。             */
    //  __IO uint32_t  DAI;                               /*!< 设备地址匹配指数。 信号强度值   */
    //  __IO uint32_t  PACKETPTR;                         /*!< 数据包的指针。 (32bit)        */
    //  __IO uint32_t  FREQUENCY;                         /*!< 频率。+2400MHz            */
    //  __IO uint32_t  TXPOWER;                           /*!< 输出功率。      */
    //  __IO uint32_t  MODE;                              /*!< 数据普通传输速率和蓝牙速率。    */
    //  __IO uint32_t  PCNF0;                             /*!< 包配置0。 空中数据格式   */
    //  __IO uint32_t  PCNF1;                             /*!< 包配置1。 空中数据大小    */
    //  __IO uint32_t  BASE0;                             /*!< 地址0高字节存放区。    */
    //  __IO uint32_t  BASE1;                             /*!< 地址1~7高字节共用值存放区(1234567共用)。   */
    //  __IO uint32_t  PREFIX0;                           /*!< 地址3~0的低字节                         */
    //  __IO uint32_t  PREFIX1;                           /*!< 地址7~4的低字节                         */
    //  __IO uint32_t  TXADDRESS;                         /*!< 发送通道选择。                */
    //  __IO uint32_t  RXADDRESSES;                       /*!< 接收通道使能选择。1111  1111                */
    //  __IO uint32_t  CRCCNF;                            /*!< CRC配置开关。                   */
    //  __IO uint32_t  CRCPOLY;                           /*!< CRC多项式。              */
    //  __IO uint32_t  CRCINIT;                           /*!< CRC的初始值。            */
    //  __IO uint32_t  TEST;                              /*!< 测试功能使能寄存器。         */
    //  __IO uint32_t  TIFS;                              /*!< 帧间间隔微秒。               */
    //  __IO uint32_t  RSSISAMPLE;                        /*!< 采集到的RSSI样品值。 */
    //  __I  uint32_t  STATE;                             /*!< 查看当前无线电状态。       */
    //  __IO uint32_t  DATAWHITEIV;                       /*!< 数据校验初始值。           */
    //  __IO uint32_t  BCC;                               /*!< 位计数器比较。             */
    //  __IO uint32_t  DAB[8];                            /*!< 设备地址基地段。        */
    //  __IO uint32_t  DAP[8];                            /*!< 设备地址的前缀。        */
    //  __IO uint32_t  DACNF;                             /*!< 设备地址匹配配置。      */
    //  __IO uint32_t  OVERRIDE0;                         /*!< 修剪值覆盖寄存器0。          */
    //  __IO uint32_t  OVERRIDE1;                         /*!< 修剪值覆盖寄存器1。          */
    //  __IO uint32_t  OVERRIDE2;                         /*!< 修剪值覆盖寄存器2。          */
    //  __IO uint32_t  OVERRIDE3;                         /*!< 修剪值覆盖寄存器3。          */
    //  __IO uint32_t  OVERRIDE4;                         /*!< 修剪值覆盖寄存器4。          */
    //  __IO uint32_t  POWER;                             /*!< 外设的功率控制。 总开关位    */
    //} NRF_RADIO_Type;

    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2014-4-24 15:31
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2014-4-20 12:49:32 | 显示全部楼层
    //  __IO uint32_t  CRCCNF;                            /*!< CRC配置开关。                   */
    //  __IO uint32_t  CRCPOLY;                           /*!< CRC多项式。              */
    //  __IO uint32_t  CRCINIT;                           /*!< CRC的初始值。            */
    //  __IO uint32_t  TEST;                              /*!< 测试功能使能寄存器。         */
    //  __IO uint32_t  TIFS;                              /*!< 帧间间隔微秒。               */
    这个官方的例程有参考的数值,但不知道是怎么变化的。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2014-4-24 15:31
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2014-4-20 12:52:59 | 显示全部楼层
    //  __IO uint32_t  DAB[8];                            /*!< 设备地址基地段。        */
    //  __IO uint32_t  DAP[8];                            /*!< 设备地址的前缀。        */
    //  __IO uint32_t  DACNF;                             /*!< 设备地址匹配配置。      */
    //  __IO uint32_t  OVERRIDE0;                         /*!< 修剪值覆盖寄存器0。          */
    //  __IO uint32_t  OVERRIDE1;                         /*!< 修剪值覆盖寄存器1。          */
    //  __IO uint32_t  OVERRIDE2;                         /*!< 修剪值覆盖寄存器2。          */
    //  __IO uint32_t  OVERRIDE3;                         /*!< 修剪值覆盖寄存器3。          */
    //  __IO uint32_t  OVERRIDE4;                         /*!< 修剪值覆盖寄存器4。          */
    //  __IO uint32_t  POWER;                             /*!< 外设的功率控制。 总开关位    */
    求助啊,这几个寄存器如何使用啊?官方的参考手册没找到介绍。
    在51822的ACK应答模式用到了 OVERRIDE 1~4;
    谁能解答下这几个寄存器的使用。先谢谢了。。。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-6-4 15:48
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2014-4-21 21:52:03 | 显示全部楼层
    顶一下,同求,谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2014-4-24 15:31
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2014-5-4 12:23:30 | 显示全部楼层
    nrf2401+ACK模式。空中的数据包0x55或0xaa是接收开始信号(前导码)地址3~5字节,标志位(9bit)数据(1~32字节)CRC校验(0~2字节)
    前导码由地址最高位0或1决定0x55或0xaa
    标志位(9bit)9~4数据包长度,3~2ACK重发顺序,1ack应答标志位
    CRC校验要包括地址校验。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2014-4-24 15:31
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2014-5-6 11:18:39 | 显示全部楼层
    nrf24L01的(payload 6bit+pid 2bit+no_ack 1bit)
    对应nrf51822的2.4g无线(S0+LENGTH+S1)
                 S0:1bit。意思是是否空1位
    LENGTH:payload 6bit
                 S1:pid 2bit+no_ack 1bit
    所以nrf51822要设置S0=0;LENGTH=6;S1=3;
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-5-30 12:01:31 | 显示全部楼层
    好东西啊,谢谢楼主啊!!开办指定姓名银行卡QQ644/998/088
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-22 13:28 , Processed in 0.167198 second(s), 26 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.