get_gpio_attr()和read_gpio()

简介:

get_gpio_attr()和read_gpio()都可以用来对射频板的GPIO进行读取,只不过get_gpio_attr()处于比较顶层的位置,而read_gpio()更靠近底层。get_gpio_attr()在multi_usrp.hpp中声明;read_gpio()在sbx_commom.hpp中声明。

要读取GPIO的输出,get_gpio_attr()中提供了两种方式:OUT和READBACK。OUT只读取由用户控制的引脚输出;READBACK则全部读出。

read_gpio()读取GPIO的结果与get_gpio_attr()的READBACK读取结果相同,都是全部读取。

举例说明:

假设已经定义了USRP设备指针usrp和射频板接口iface,并将GPIO的第6bit和第7bit设置为用户控制:

iface->set_pin_ctrl(dboard_iface::UNIT_TX,TXIO_MASK);
iface->set_gpio_ddr(dboard_iface::UNIT_TX,(TXIO_MASK|RX_LED_IO));

并对发送单元的GPIO作了如下设置(第6bit为1,第7bit为0,此时射频板LED TX/RX亮):

iface->set_gpio_out(dboard_iface::UNIT_TX,TX_LED_LD,TX_LED_IO);

用上述两种方法去读取GPIO的值:

boost::uint32_t out=iface->read_gpio(dboard_iface::UNIT_TX);
std::cout<<out<<std::endl;
boost::uint32_t out1=usrp->get_gpio_attr("TXRX","OUT");
std::cout<<out1<<std::endl;
boost::uint32_t out2=usrp->get_gpio_attr("TXRX","READBACK");
std::cout<<out2<<std::endl

输出的结果分别为:16459(二进制0100000001001011)、64(二进制0000000001000000)和16459(二进制0100000001001011)


目录
相关文章
|
JavaScript
Vue表格显示问题:v-show无法影响el-table-column列的解决方案
Vue表格显示问题:v-show无法影响el-table-column列的解决方案
1731 0
|
存储 JSON 运维
直击痛点,详解 K8s 日志采集最佳实践
在 Kubernetes 中,日志采集和普通虚拟机的方式有很大不同,相对实现难度和部署代价也略大,但若使用恰当则比传统方式自动化程度更高、运维代价更低。
直击痛点,详解 K8s 日志采集最佳实践
|
数据可视化 计算机视觉
使用MMDetection进行目标检测
本文介绍了如何使用MMDetection进行目标检测。首先需按官方文档安装MMDetection,不熟悉的同学可参考提供的教程链接。安装完成后,只需准备模型配置文件、模型文件及待检测的图片或视频。示例代码展示了如何加载模型并进行图像检测,最后通过可视化展示检测结果,包括类别和置信度。
416 1
使用MMDetection进行目标检测
|
人工智能 自然语言处理 API
手把手教你搭建微信公众号AI助手
【8月更文挑战第6天】手把手教你搭建微信公众号AI助手
1135 2
手把手教你搭建微信公众号AI助手
|
9月前
|
Kubernetes Shell Windows
【Azure K8S | AKS】在AKS的节点中抓取目标POD的网络包方法分享
在AKS中遇到复杂网络问题时,可通过以下步骤进入特定POD抓取网络包进行分析:1. 使用`kubectl get pods`确认Pod所在Node;2. 通过`kubectl node-shell`登录Node;3. 使用`crictl ps`找到Pod的Container ID;4. 获取PID并使用`nsenter`进入Pod的网络空间;5. 在`/var/tmp`目录下使用`tcpdump`抓包。完成后按Ctrl+C停止抓包。
355 12
|
NoSQL 关系型数据库 MySQL
Redis私有云平台-Cachecloud安装和部署手册
Redis私有云平台-Cachecloud安装和部署手册
|
机器学习/深度学习 数据可视化 JavaScript
探索机器学习模型的可视化技术
【9月更文挑战第23天】在数据科学中,理解和解释机器学习模型的决策过程是至关重要的。本文将介绍几种流行的可视化工具和库,如TensorBoard、D3.js等,帮助读者更好地理解模型内部工作原理及其预测结果。通过实例演示如何使用这些工具进行模型可视化,增强模型的可解释性。
|
存储 算法 Linux
3分钟带你快速学会Linux tar 命令
【4月更文挑战第24天】
683 1
3分钟带你快速学会Linux tar 命令
|
缓存 负载均衡 Dubbo
Dubbo服务集群容错原理(重要)
该文章主要介绍了Dubbo服务集群容错的原理,包括集群容错技术的概念、Dubbo中使用的集群容错技术种类及其原理。
|
Web App开发 前端开发 开发工具
VisBug,提升web开发者幸福感的开发工具
作为web网页开发者,我们在日常开发过程中经常需要在控制台查看和修改元素的各种属性,以达到我们想要的各种效果。但这种方法往往效率低,而且效果不够直观。今天分享一款浏览器插件VisBug,可以帮助我们更快的查找元素,检查元素属性、间距,调整位置、颜色、字体大小、阴影等等,极大提升我们的开发体验。(支持Chrome、Firefox、Safari、Edge)
VisBug,提升web开发者幸福感的开发工具