热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SI446x系列之路--基本操作

首先我们会进行基本配置SI446x_Gpio_Init();SI4463引脚初始化可以包含spi引脚,sdn,irq,gpiox等功能初始化SI446x_Reset();SI44

首先我们会进行基本配置

SI446x_Gpio_Init( );//SI4463引脚初始化 可以包含 spi引脚,sdn,irq,gpiox等功能初始化

SI446x_Reset( ); //SI4463复位 注意的是复位15ms延时
SI446x_Power_Up( 30000000 );//这个操作根据硬件晶振
SI446x_Config_Init( ); //使用wds配置,我觉得仔仔细细把一个功能的配置搞懂基本你就掌握了wds的使用。注意他的使用方法和参数结构为什么那么定义你就懂了
SI446x_Set_Power( 0x10 ); //功率设置 这个我测试了RSSI发现 设置了0x01 接收端读出来也是F5左右也就比正常写7F时少了一些。不过RSSI的读取在距离上变化的比较明显
SI446x_Change_Status( 6 ); //切换到RX状态这个对应有TX的操作,可以结合起来看
SI446x_Get_Part_Informatoin(bufftemp); 读取硬件的相关信息,主要我还是关心能读取出芯片型号不过这个没什么必要性
while( 6 != SI446x_Get_Device_Status( ));这个是必须的,类似的状态检查操作基本可以检查芯片是否状态切换成功,

SI446x_Start_Rx( 0, 0, PACKET_LENGTH,0,0,3 ); START_RX的命令准备接收 详细可看该命令

我觉得基本操作中需要注意的也就是,接收中断是否打开,因为接收需要去查询接收中断触发没有,从而读取FIFO,不推荐使用直接模式。即4使用GET_INT_STATUS命令读取状态,读取数据时需要根据使用的是可变数据长度还是定长度,这会在初始化时有不同的配置,接收读取时 可变长度需要读取fifo数据长度从而决定读取多少个数据。其次就是spi操作中需要注意每次操作前(并不是指每个spi发送或者接收字节这种级别)需要读取CTS即 CPU此时是否有空接收并处理你的操作,并且注意查看芯片的数据手册,注意spi时序和要求,这里就不做详细的描述了。多多google,百度,查看需要注意的地方,其实手册里都有写但是全部英文有时候容易看漏。233333.。。。。。。。。。。英语太差,我参考了太多博客,论坛,源码等资料就不一一梳理展示了,感谢他们。最后希望这能帮助到你。



推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
author-avatar
哈哈
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有