• RFIC4463_F2C


    文档内容:依据RFIC4463_F2A&B中所提到变量以及WDS生成头文件,思考如何将其添入单片机工程中

    时间节点:2014/10/30

    一、   命令与属性

    1SI4463 API描述中的Command

    SI4463芯片的应用手册AN625中有关于大部分Command和Property的定义,Command如下图:

     

    可根据上述表格定义的所有Command得出下列程序

     

    根据表格中的定义得出上述程序,这样再进行SPI传输Command操作时,可对应上述程序,操作相应变量即可。

    比如下面的更改芯片状态的程序:

     

    先发送CMD_CHANGE_STATE至SPI接口,芯片会识别0x34的Command,紧接着发送0x01,即变为Sleep State。SendCommand后期的文档中会详细说明。

    2SI4463 API描述中的Property

    AN625中关于Property有定义如下:

     

    可以看到上述表格中number的值与Command中的number不一样,它是2byte的。而我们发送数据是1byte为单位发送的。同时可以看到0x0000~0x0008都是以Global打头的,故可以得到下面程序定义:

     

    将2bytes拆分成2部分,一部分作为Group的定义,另一部分作为各个Property的定义。再设置某个Property的时候就可以有如下程序:

     

    先发送Command 0x11(Set Property),再发送Group的值和Property的Number和内容,实现对某个Property的配置。

    二、       WDS生成头文件导入

    WDS工具生成的头文件中定义的Property变量都是很长一串,如下图:

     

    上述头文件的这种定义形式与第一章中类似,亦包括Set Property (0x11),又包括Group(0x20)、Property Number(0x00)、长度(0x03)和具体的配置内容,相当于多个参数集中到一个变量里面了,所以发送的时候只需要发送一个变量即可。

    将WDS生成头文件中的变量先赋给一个变量数组,如下:

     

    可以看到数组的第一个值为该变量总长度,例如MODEM_MOD_TYPE_7共含7个bytes。那么在发送的时候就有如下:

     

    数组第一个参数长度和后面变量地址作为指针依次加,即可实现将整个7bytes全部发送出去。

    对于WDS中有定义的变量都可以采用上述操作,对于WDS生成头文件中没有定义的变量,可以使用第一章中提供的方式进行传输。

        具体SendCommand函数的编写等,后期会详细说明。

    一切都是最好的安排,感谢生命中所遭遇的一切!
  • 相关阅读:
    bzoj4849: [Neerc2016]Mole Tunnels
    bzoj 4069~4071 APIO2015
    bzoj 4885: [Lydsy2017年5月月赛]长方体
    bzoj4891: [Tjoi2017]龙舟
    bzoj4892: [Tjoi2017]dna
    bzoj 3159: 决战
    bzoj3672: [Noi2014]购票
    bzoj4738: 汽水
    bzoj 4737: 组合数问题
    bzoj 4872: [Shoi2017]分手是祝愿
  • 原文地址:https://www.cnblogs.com/sunxuxu/p/4110807.html
Copyright © 2020-2023  润新知