si4438 的初始化
void si4438_Init(){
si446x_reset();
si446x_part_info(); //进入si4438
while (SI446X_SUCCESS != si446x_configuration_init(Radio_Configuration_Data_Array)){ //Radio_Configuration_Data_Array 由WDS 产生的头文件生成
si446x_reset(); //若初始化不成功,则一直初始化
}
si446x_get_int_status(0u, 0u, 0u); // 清除标志中获取中断状态/挂起标志
si446x_set_property(0x12, 0x02, 0x0d, 0x00, 255u); //发送命令
vRadio_StartRX(CHANNEL1, 0); //处于接收状态
}
void si446x_reset(void)
{
U16 loopCount;
radio_hal_AssertShutdown(); //引脚拉高,芯片关闭
for (loopCount = 1000; loopCount != 0; loopCount--); //延时
radio_hal_DeassertShutdown(); //引脚拉低,芯片使能
for (loopCount = 1000; loopCount != 0; loopCount--); //延时
radio_comm_ClearCTS();
}
void radio_hal_DeassertShutdown(void) //看芯片手册 SDN 管脚 在 管脚初始化的时候 SDN 管脚的初始化不能忘记
{
GPIO_ResetBits(GPIOB, GPIO_Pin_1);
}
void radio_hal_AssertShutdown(void) //看芯片手册 SDN 管脚
{
GPIO_SetBits(GPIOB, GPIO_Pin_1);
}
void si446x_part_info(void)
{
Pro2Cmd[0] = SI446X_CMD_ID_PART_INFO;
radio_comm_SendCmdGetResp( SI446X_CMD_ARG_COUNT_PART_INFO,
Pro2Cmd,
SI446X_CMD_REPLY_COUNT_PART_INFO,
Pro2Cmd );
Si446xCmd.PART_INFO.CHIPREV = Pro2Cmd[0];
Si446xCmd.PART_INFO.PART = ((U16)Pro2Cmd[1] << 8) & 0xFF00;
Si446xCmd.PART_INFO.PART |= (U16)Pro2Cmd[2] & 0x00FF;
Si446xCmd.PART_INFO.PBUILD = Pro2Cmd[3];
Si446xCmd.PART_INFO.ID = ((U16)Pro2Cmd[4] << 8) & 0xFF00;
Si446xCmd.PART_INFO.ID |= (U16)Pro2Cmd[5] & 0x00FF;
Si446xCmd.PART_INFO.CUSTOMER = Pro2Cmd[6];
Si446xCmd.PART_INFO.ROMID = Pro2Cmd[7];
}
void si446x_get_int_status(U8 PH_CLR_PEND, U8 MODEM_CLR_PEND, U8 CHIP_CLR_PEND)
{
Pro2Cmd[0] = SI446X_CMD_ID_GET_INT_STATUS;
Pro2Cmd[1] = PH_CLR_PEND;
Pro2Cmd[2] = MODEM_CLR_PEND;
Pro2Cmd[3] = CHIP_CLR_PEND;
radio_comm_SendCmdGetResp( SI446X_CMD_ARG_COUNT_GET_INT_STATUS,
Pro2Cmd,
SI446X_CMD_REPLY_COUNT_GET_INT_STATUS,
Pro2Cmd );
Si446xCmd.GET_INT_STATUS.INT_PEND = Pro2Cmd[0];
Si446xCmd.GET_INT_STATUS.INT_STATUS = Pro2Cmd[1];
Si446xCmd.GET_INT_STATUS.PH_PEND = Pro2Cmd[2];
Si446xCmd.GET_INT_STATUS.PH_STATUS = Pro2Cmd[3];
Si446xCmd.GET_INT_STATUS.MODEM_PEND = Pro2Cmd[4];
Si446xCmd.GET_INT_STATUS.MODEM_STATUS = Pro2Cmd[5];
Si446xCmd.GET_INT_STATUS.CHIP_PEND = Pro2Cmd[6];
Si446xCmd.GET_INT_STATUS.CHIP_STATUS = Pro2Cmd[7];
}
si4438 的初始化相关推荐
- etcd 笔记(06)— Client 结构定义、客户端(初始化、KV存储Get、Put、事务 Txn、压缩 Compact、Watch、Lease
1. Client 定义 Client 定义如下: type Client struct {ClusterKVLeaseWatcherAuthMaintenance// 认证的用户名Username ...
- Go 知识点(08) — 对未初始化的 channel 进行读写操作
1. 对未初始化的 channel 进行写操作 先看下面代码 func main() {var ch chan int // 只声明,并没有初始化fmt.Printf("ch is %v\n ...
- Go 学习笔记(70)— Go 变量声明、变量初始化、值类型变量赋值、指针类型变量赋值
1. 变量声明 要单纯声明一个变量,可以通过 var 关键字,如下所示: var s string 该示例只是声明了一个变量 s,类型为 string,并没有对它进行初始化,所以它的值为 string ...
- Go 学习笔记(60)— Go 第三方库之 go-redis(初始化 redis、操作 string、操作 list、操作 set、操作 hset)
1. 第三方库 go-redis 因为 Go 标准库中是没提供 redis 的库,所以我们选择用 go-redis 这个第三方库.源码地址为 https://github.com/go-redis/r ...
- Go 学习笔记(55)— Go 标准库 sql (初始化数据库、插入、更新、删除数据库表、单行查询、多行查询、事务处理)
1. 标准库说明 Go 的标准库中是没有数据库驱动,只提供了驱动接口,有很多第三方实现了驱动,我们这里选择 go-sql-driver 这个实现是目前使用最多的.github 地址是:https:// ...
- 派生类参数初始化列表和基类构造函数顺序
今天被问到了一个问题,随便回了一句,父类还没有构建,怎么能初始化父类的成员. 派生类构造函数的参数初始化列表,为什么不能初始化基类的成员? 例如下面的是不可以的 class Rectangle : p ...
- 深度学习——Xavier初始化方法
20210609 https://blog.csdn.net/u011534057/article/details/51673458 https://blog.csdn.net/luoxuexiong ...
- 深度学习的Xavier初始化方法
在tensorflow中,有一个初始化函数:tf.contrib.layers.variance_scaling_initializer.Tensorflow 官网的介绍为: variance_sca ...
- PyTorch 学习笔记(四):权值初始化的十种方法
pytorch在torch.nn.init中提供了常用的初始化方法函数,这里简单介绍,方便查询使用. 介绍分两部分: 1. Xavier,kaiming系列: 2. 其他方法分布 Xavier初始化方 ...
- Pytorch的默认初始化分布 nn.Embedding.weight初始化分布
一.nn.Embedding.weight初始化分布 nn.Embedding.weight随机初始化方式是标准正态分布 ,即均值$\mu=0$,方差$\sigma=1$的正态分布. 论据1--查看 ...
最新文章
- ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush
- [IE技巧] 查看HTTP 验证的用户名/密码
- linux关闭硬件蜂鸣器,Linux Tips: 如何关闭系统的蜂鸣器
- MySQL配置mycat读写分离:wrapper | Startup failed: Timed out waiting for signal from JVM.
- 【细节拉满】Hadoop课程设计项目,使用idea编写基于MapReduce的学生成绩分析系统(附带源码、项目文件下载地址)
- mysql zpi版的如何配置_Mysql zip版 安装配置
- oracle透明网关访问sqlserver_基于智慧照明网关的地下停车场照明解决方案
- Winform获取本地IP和外网IP
- 计算机网络 MOOC 哈尔滨工程大学 pdf课件
- Perl教程-1.Perl简介
- 签订保险合同后的事-续保、批单、退保、理赔
- 拯救阿拉德大陆--竞码编程H-20‘
- Ajax选项卡、隔行换色、弹出遮罩层…
- SNF快速开发平台--规则引擎介绍和使用文档
- 小象学院python网课值得吗-小象学院python
- Eclipse 下载带有WTP 相应插件板本的地址
- 用c语言解参数积分,C语言求定积分的通用函数
- IDEA 快速复制、剪切当前行
- Library Genesis
- 苹果7无线网怎么连接电脑连接服务器,iPhone7怎么连接Wifi无线网络?苹果iPhone7 wifi和网络流量自动切换吗?...