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函数的编写等,后期会详细说明。

一切都是最好的安排,感谢生命中所遭遇的一切!
原文地址:https://www.cnblogs.com/sunxuxu/p/4110807.html