CC2500和CC1101移植说明

2024-06-16 01:20
文章标签 说明 移植 cc1101 cc2500

本文主要是介绍CC2500和CC1101移植说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

主要通过如何移植、移植注意、关于芯片配置、如何生成导出配置四大步骤来说明CC2500和CC1101移植
首先通过下图1这个宏进行选择

如何移植
要移植的部分在 CC2500_hal.c 和 CC2500_hal.h中, 
    搜索 "//移植" 就可以定位到 库 所需的依赖, 需要根据 您的环境实现这些函数

移植注意
强烈推介用软件spi实现, 因为有些地方需要读写spi引脚

1 可以使用 smarkRF软件生成不同的配置数组preferredSettings, 实现无缝切换配置
如何生成配置在文档的最下面

    1 CC2500 和 CC1101 库是通用的, 只是配置不一样, 通过 下面两个宏来定义
        #define USE_CHIP_CC2500                
        #define USE_CHIP_CC1101     
        
      
    2 以下两个文件是重点要移植的,  强烈推荐使用软件SPI
        cc2500_hal.c
        cc2500_hal.h
    3 本例程默认使用 DIO1(MISO)用于判断发射和接收 
    4 CC2500_SendPacket 无堵塞发送, 要注意发完了才能再次调用
    5 cc2500_app.c  cc2500和cc1101通用的应用演示, 通过 CC2500_MODE 配置TX 和 RX 
        TX:  每隔100ms进行无堵塞发送 
        RX:  一直处于接收状态
 关于芯片配置
可以根据 SmartRF Studio 7配置并生产宏定义, 代替CC2500.h的宏定义即可, 但是如果你对配置参数不了解, 很容易照成收发不正常, 
但是为了速率与距离的配置, 需要进一步了解具体的参数和功能

以下图2为参考, 能实现基本的测试, 具体进阶配置需要对cc2500有一点的认识后进行


配置时要注意,  切记, 在 cc2500.c中, 如果模块带外部PA,千万不要更改 IOCFGx 的配置, 如下图3的源码所示, 否则会导致PA无法正常工作


 如何生成导出配置
第一步: 
    打开 SmartRF Studio7, 选择对应芯片, 如果是2.4G 的CC2500则如下图4所示  并点击 OpenRF Device in Offine Mode.

第二步: 生成配置, 并复制黏贴到代码里,如下图5

这篇关于CC2500和CC1101移植说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1065125

相关文章

mybatis-plus QueryWrapper中or,and的使用及说明

《mybatis-plusQueryWrapper中or,and的使用及说明》使用MyBatisPlusQueryWrapper时,因同时添加角色权限固定条件和多字段模糊查询导致数据异常展示,排查发... 目录QueryWrapper中or,and使用列表中还要同时模糊查询多个字段经过排查这就导致只要whe

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

Maven中的profiles使用及说明

《Maven中的profiles使用及说明》:本文主要介绍Maven中的profiles使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录主要用途定义 Profiles示例:多环境配置激活 Profiles示例:资源过滤示例:依赖管理总结Maven 中的

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor