zoukankan      html  css  js  c++  java
  • 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函数的编写等,后期会详细说明。

    一切都是最好的安排,感谢生命中所遭遇的一切!
  • 相关阅读:
    javascript时间戳和日期字符串相互转换
    jquery两稳定版本比较~~
    原生的强大DOM选择器querySelector
    分享一个自定义的 console 类,让你不再纠结JS中的调试代码的兼容
    基于Mesos运行Spark
    chrome插件 postman 可以调用restful服务
    cassandra优秀博客集
    Cassandra监控
    Cassandra
    SecureCRT中文显示乱码的解决方法
  • 原文地址:https://www.cnblogs.com/sunxuxu/p/4110807.html
Copyright © 2011-2022 走看看