本专栏由非官方人员 王小小海 所著,其内容主要记录了在开发5340的过程中遇到的一些问题和解决方法,还有一些应用的例程。作者本人也是在实践应用中遇到的问题,想着把这些问题分享给可能遇到的朋友。仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。

本专栏不涉及基础的安装和环境搭建问题,本例程开发使用的NCS 2.0.0,如果涉及2.0.0以上开发,会加以备注。


所有分享内容

笔记分享

  1. 【笔记分享】NCS下radio_test添加FEM
  2. 【笔记分享】5340基于 BLE LBS 自定义网络核固件点亮LED并合并固件
  3. 【笔记分享】LE Audio例程 时钟漂移补偿和播放补偿 无法正常工作问题解决

应用分享


本次分享内容

NCS下Radiotest下增加FEM

  • 本例程使用NCS下,nRF所有系列的芯片. 本例程 以 RFX2401C 和 nRF21540 为FEM。

步骤

  • 使用NCS创建radio_test例程.
  • 打开ncs 2.0.0目录,将 v2.0.0/nrf/samples/bluetooth/direct_test_mode/src目录下的fem文件夹拷贝到radio_test目录下.
  • 编辑cmakelists.txt文件内容修改对应fem目录.
  • 编辑修改Kconfig文件内容.
  • 创建或编辑 boards 文件夹内,对应板子的overlay文件.
  • 编译内容.
步骤1: 使用NCS创建radio_test例程 (跳过不演示)
步骤2 : 打开ncs 2.0.0目录,将 v2.0.0/nrf/samples/bluetooth/direct_test_mode/src目录下的fem文件夹拷贝到radio_test目录下。(跳过不演示)
步骤3 : 编辑cmakelists.txt文件内容修改对应fem目录

#
# Copyright (c) 2020 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#cmake_minimum_required(VERSION 3.20.0)find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(NONE)# Application sources
target_sources_ifdef(CONFIG_FEM appPRIVATE ./fem/fem.c)
target_sources_ifdef(CONFIG_NRF21540_FEM appPRIVATE ./fem/nrf21540.c)
target_sources_ifdef(CONFIG_GENERIC_FEM appPRIVATE ./fem/generic_fem.c)
zephyr_include_directories(./fem/)FILE(GLOB app_sources src/*.c)
# NORDIC SDK APP START
target_sources(app PRIVATE${app_sources}
)
# NORDIC SDK APP END

步骤4 : 编辑修改Kconfig文件内容.

步骤5:创建或编辑 boards 文件夹内,对应板子的overlay文件.

RFX2401C的FEM配置


/ {nrf_radio_fem: nfx2401c_fem_node {compatible = "generic-fem-two-ctrl-pins";ctx-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;crx-gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;};
};&radio {fem = <&nrf_radio_fem>;
};
  • 编译过后通过查看 build/zephyr/目录下的.config文件内容是否 FEM开启

nRF21540的FEM配置

// 注意你的FEM的使能电平,2401发送是高电平有效,接收是高电平,fem驱动会互斥的.
// 如果你是简单的 2个引进控制的可以用 compatible = "generic-fem-two-ctrl-pins";
// 不是,那么就用21540的 compatible
// / {//  nrf_radio_fem: nfx2401c_fem_node {//      compatible = "generic-fem-two-ctrl-pins";
//      ctx-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
//      crx-gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
//  };
// };// 21540的fem.但是需要关联spi,如果不关联也可以,删除掉spi的 子结点就行了
// 但是 radio_test下由于 fem 文件夹内的 21540是强制绑定了 spi的,因此必须要配置spi不然会报错。
/ {nrf_radio_fem: nrf21540_fem {compatible = "nordic,nrf21540-fem";tx-en-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;   /* D5 */rx-en-gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;    /* D3 */pdn-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;     /* D9 */ant-sel-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; /* D4 */mode-gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;     /* D2 */spi-if = <&nrf_radio_fem_spi>;};
};fem_spi: &arduino_spi {status = "okay";cs-gpios = <&arduino_header 16 GPIO_ACTIVE_LOW>; /* D10 */nrf_radio_fem_spi: nrf21540_fem_spi@0 {compatible = "nordic,nrf21540-fem-spi";status = "okay";reg = <0>;label = "FEM_SPI_IF";spi-max-frequency = <8000000>;};
};&radio {fem = <&nrf_radio_fem>;
};

编译完成之后同 RFX2401C一样,查看是否使能了FEM和21540 support

步骤6 : 编译内容.

编译即可。然后通过shell命令,输入对应radio_cmd.c中的命令就可以测试带FEM的radio了。


结束语

以上就是关于NCS下 radio_test例程使能FEM的实现步骤

有不明白的地方欢迎提问,也厚脸皮要个赞或者关注,谢谢各位啦。


本系列文章大多数是本人遇到和解决过的问题,难有疏忽之处,有什么问题或者不明白的地方,欢迎留言询问!

【nRF5340】【笔记分享】NCS下radio_test增加FEM相关推荐

  1. 【好程序员笔记分享】——下拉刷新和上拉加载更多

    -iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS学习之路--下拉刷新和上拉加载更多 简介 本文中笔者将和大家分享应用app中常用到的表单内容的下拉刷新和 ...

  2. Mysql数据库笔记分享系列--下(内附免费课设报告)

    索引和视图 索引 索引类别 普通索引 唯一性索引 主键索引 全文索引 空间索引 创建索引 1.ALTER TABLE创建索引 #ALTER TABLE用来创建普通索引.UNIQUE索引或PRIMARY ...

  3. 【分享】《小强升职记》读书笔记分享4

    抽出绿叶,积极主动 看完本章内容,自己最受感触的一点就是--主动性. 先从"听话的孩子"说起吧.从小学到中学,相信老师都喜欢听话的孩子,因为我也算是这么一个孩子吧,老师说让什么时候 ...

  4. 【分享】《小强升职记》读书笔记分享5

    习惯让你开花结果 19世纪最伟大的小提琴家萨拉萨蒂,曾被媒体称为天才,对此萨拉萨蒂说:"天才?!37年来我每天苦练14小时,现在却叫我天才?!". 世界上最伟大的推销员之一Joe ...

  5. HTML5基础入门(笔记分享)

    [整理来源]:html5+css3+jQuery Mobile (2th) [笔记分享]: HTML5 和 HTML4 差异: 简化:DOCTYPE.html.meta.script等标记被大幅度简化 ...

  6. oracle rac添加监听,【学习笔记】Oracle 10G RAC增加节点时手动注册监听服务的案例步骤...

    [学习笔记]Oracle 10G RAC增加节点时手动注册监听服务的案例步骤 时间:2016-10-22 22:53   来源:Oracle研究中心   作者:HTZ   点击: 次 天萃荷净 Ora ...

  7. JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPQL进行查询

    JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPOL进行查询 创梦技术交流平台:资源下载,技术交流,网络赚钱: 交流qq群:1群:248318056 2群:251572072 技 ...

  8. Linux系统怎么吸引用户,Linux下如何增加一个系统用户

    Linux下如何增加一个系统用户 (2008-04-08 14:18:11) 标签: it 人邮的<Linux指令速查手册>相当不错,我跟我的朋友都有一本.拿着也方便.我这人,看到好书都这 ...

  9. 笔记分享②:GPS经纬度坐标转为CGCS2000

    在上一期笔记分享①:坐标定义及转换中成功解决将CGCS2000坐标系数据转为WGS1984坐标,可加载至Google Earth或者其他通用地图软件. 本期笔记总结:通过Python批量获取照片经纬度 ...

最新文章

  1. 1.2控制台的大体设置:
  2. 【AI-1000问】为什么CNN中的卷积核半径都是奇数?
  3. How change in Console is rendered back into UI
  4. css属性 content
  5. JavaScript机器学习之KNN算法
  6. ZYNQ PS端输出无效时钟供PL使用
  7. Oracle全备增量备份脚本,ORACLE-RMAN:备份脚本(全库,增量)
  8. Vue项目部署到SpringBoot工程下
  9. 根据crash学习用户空间程序内存布局
  10. 华为关闭telnet命令_华为交换机关闭Telnet
  11. 人民币兑换、换硬币 C语言
  12. m3u8格式的视频链接怎么在自己电脑上播放
  13. wwwscan批处理配置
  14. python实时语音转写_语音识别 - 实时语音转写 - 《科大讯飞REST_API开发指南》 - 书栈网 · BookStack...
  15. ps海报合成教程_怎样合成创意环保海报图片的PS教程
  16. html遮罩层动画制作,flash简单制作遮罩动画效果
  17. java/php/net/python学生社团管理系统设计
  18. elasticsearch6.6文档翻译-查询语句-查询上下文和过滤上下文
  19. matlab中提示m文件不在current folder下(实际上在)
  20. linux 三星网络共享,基于安卓的rndis驱动的usb网络共享的实现

热门文章

  1. 游戏建模之写实高级影视肖像《傲慢女爵》
  2. 关于sha1加密与md5加密
  3. java 字符串转对象_【Java】把一个对象转化为String字符串
  4. golang websocket绑定用户_Golang(五)最佳Web框架对比
  5. 论文投稿指南——中文核心期刊推荐(电工技术2)
  6. SQL学习笔记——task1:数据库安装及基本语法操作
  7. Windows 程序的生与死----FROM 侯俊杰
  8. 20岁的计算机系学生 表情包,毕竟我才二十岁表情包 - 毕竟我才二十岁微信表情包 - 毕竟我才二十岁QQ表情包 - 发表情 fabiaoqing.com...
  9. 谷歌浏览器emulation仿真手机app浏览器访问
  10. Qt 实现鼠标拖拽窗口移动