“线程:sysconfig”中讨论的其它部分
克莱门特,您好!
我还有一个问题是直接控制 GPIO 以实现天线切换,正如我们在相关主题中所讨论的那样。
在 SDK 中,GPIO27是按照您对 GPIO 的建议设置的 这是在布尔_USER_CONFIG.c 中,如下面的片段所示。 然后,在 AOA.c,bool AOA_initAntArray (uint8_t antArray[],uint8_t antArrLen)中初始化引脚。
当我查看 RTLS_MASTER.syscfg 时,GPIO27 (以及28,29,30) 显示为未使用。 我尝试在 syscfg 中分配 GPIO27,然后使用 GPIO 写入()函数切换它,但这会导致错误。
是否有方法使用 GPIO 写入()函数切换 GPIO27 而不在 syscfg 中分配它?
是否有方法使用 GPIO 写入()以外的方法切换 GPIO27?
如果无法执行上述任一操作,我认为我可以从天线电缆和 天线 IO_mask 中删除 GPIO27,将 ANTENNA TABLE _SIZE 更改为3,然后在 syscfg 中分配 GPIO27,并 使用 GPIO _wirte()对其进行控制。
让我知道你的想法。 再次感谢你的帮助。
来自 布尔_USER_CONFIG.c 的片段-
// BOOSTXL-AOA 配置
//天线的最大数量
#define Antenna 表大小6.
//天线所需的所有相关 GPIO 的位掩码
#define ANTENNA_IO_Mask BV (27)|BV (28)|BV (29)|BV (30)
//每个 ID 的天线 GPIO 配置(与 BOOSTXL-AOA 相关)
天线电缆[ANTENNA_TABLE _SIZE]={
BV (27)|BV (28),// id 0,A1.1
BV (27)|BV (29),// id 1,A1.2
BV (27)|BV (30),// id 2,A1.3
BV (28),// id 3,A2.1
BV (29),// id 4,A2.2
BV (30)};// id 5 A2.3