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)


目录
相关文章
人工智能 缓存 前端开发
6305 20
人工智能 JavaScript 开发工具
3291 4
缓存 JavaScript Shell
1558 1
开发工具 Swift git
1086 1
Shell API 调度
868 2
|
13天前
|
存储 弹性计算 缓存
阿里云服务器租赁费用:新版租赁收费标准及活动报价参考
本文更新了2026年阿里云全系列云服务器租赁活动报价,所有特惠资源均可前往阿里云活动中心选购,整体覆盖从个人入门到企业级高性能场景的全梯度需求。其中轻量应用服务器主打极致性价比,2核2G峰值200M带宽配置每日10点、15点限时抢购价仅38元/年,2核4G配置379元/年起;高性价比的经济型e实例、通用算力型u2i实例覆盖2核4G至4核32G全档位,适配开发测试与中小型企业业务;搭载英特尔至强6处理器的第九代c9i企业级实例算力较上代提升20%,支撑高并发生产环境,不同实例规格价差清晰,用户可根据自身业务负载与预算灵活选型。
2128 121
阿里云服务器租赁费用:新版租赁收费标准及活动报价参考
|
14天前
|
人工智能 程序员 API
Codex 接入 DeepSeek-V4-Flash:还能补上识图,提供两套方案
Codex 接入 DeepSeek-V4-Flash 怎么配?本文覆盖 CLI 与桌面端,再用 qwen3-vl-flash 补识图,两套方案可直接照做
1777 13
安全 机器人 API
625 2
缓存 人工智能 算法
717 1

热门文章

最新文章